═══ 1. Oberon Terminal Emulator/2 ═══ Documentation for Oberon Terminal Emulator/2 Version 1.34 Shareware Version Oberon Software, Inc. 1405 East Main Street Mankato, MN 56001-5070 Voice Phone: 507/388-7001 BBS: 507/388-1154 FAX: 507/388-7568 Internet: ob-tech@OberonSoftware.com http://www.OberonSoftware.com 1 July, 1997 ═══ 2. Copyright ═══ Copyright (c) 1991-1997, Oberon Software, Inc., Mankato, MN - All Rights Reserved ═══ 3. Forward ═══ Forward to Version 1.33 9 December, 1996 Welcome back to TE/2! During the last part of 1994 and most of 1995, Oberon Software had an unfortunate experience with an attempt at a joint marketing venture, the result of which was, essentially no marketing during that period. But 1996 has been spent regaining ground and TE/2 is still here better than ever! During 1996 we launched our new "big sister" program TE/2 Pro; if you haven't had the opportunity to look at TE/2 Pro, please take a few minutes to do so. Also, in 1996 Oberon Software became Oberon Software, Inc. So, we're growing and, once again, have all of our loyal supporters to thank. This release of TE/2 builds upon our 1.3x "finished product" with some problems fixed and some functionality added. We hope it serves you well. Forward to Version 1.30 25 March, 1994 TE/2 1.30 marks the culmination of the TE/2 1.x series! We've included everything in this version that we've been wanting to for some time now -- everything that would fit in the character mode version of the program. And more! We couldn't resist adding some extra goodies in the way of bundled software to this release. Thanks to all the long standing and new supporters out there who have helped to make TE/2 a success! Forward to Version 1.20 15 June, 1992 Over the last year we've seen interest in OS/2 grow steadily and, with the release of OS/2 2.0 last April, literally explode overnight. The amount of interest in TE/2 and other Oberon products is at a level that I could only hope for back in August of 1990 when I typed the first "Forward" in this series. Of all the people I want to thank in this paragraph, perhaps the most important are the people at IBM for producing the very exciting OS/2 Version 2.0. So, to the developers at Boca Raton (whether your name shows up on the "S. S. Boca" display or not) and Lee Reiswig (the Blue Ninja) a sincere "Thanks" and a tip o' the hat on a job well done. Special notes of thanks to Doug Azzarito for technical help, Albert Kleyn from IBM UK, Carol Ziemba from Boca. Thanks also to all of the fine people who have contributed to TE/2 by way of beta testing and advising; your efforts have been invaluable. Thanks to Steven Tower for help with screen layouts for TE/2 and on the BBS. Of course, it's the users that make or break the situation. Thanks to all of you for your continued support! Forward to Version 1.10.c 31 March, 1991 It seems that I have a great many more people to thank with this release of TE/2. I speak of all the people out there in the U.S., Canada, Europe, and Australia who have used and registered version 1.10.b. It has been your support, in more than just a monetary sense, that has really made TE/2 a living growing thing. Of course, without adequate financial support, no product can hope to survive and I am very grateful for your support in that arena. But also, I am grateful for the personal feedback. It helps a developer to maintain a sense of accomplishment and, more often than not, humility. Thanks to everyone who has helped directly or indirectly with this release of TE/2: testers, advisors, friends and family. Special thanks for the continuing assistance of everyone mentioned in the earlier dedication and also to Pete and Bobbie Norloff, Chris Laforet, Ron Hendricks, Robbie Faust, Rell Ambrose, Matt Johnson, and to IBM for providing a wonderful Developers Assistance Program. Forward to Version 1.10.b 15 August, 1990 Version 1.10.a was the first official release of TE/2 as a shareware product. Several earlier versions were available previously and were referred to as "beta" test versions. I would like to thank everyone who, after using one or another of these "pre-release" versions contacted me with problem reports, suggestions, compliments, and/or criticisms. There were quite a few of you and, having proved that you are a vocal lot, I quite expect to continue receiving your excellent feedback. This I look forward to, it can only help to make TE/2 a better program. During the last month or two, during the final beta test cycle, several people have donated a large share of their time helping to prepare for this version of TE/2. Special thanks go out to Jim Gilliland, Jon Saxton, Mike Smedley, and Chacko Neroth for all of their invaluable help. Thanks to Chuck Gilmore for much good advice and moral support. Thanks to Phil Jurgenson for help with the English language. ═══ 4. Restrictions ═══ This version of TE/2 is supplied for personal, private use. Feel free to distribute TE/2 given these restrictions:  the program shall be supplied in its original, unmodified form, which includes this documentation and all accompanying support files;  no fee is charged;  use for profit without a license is prohibited;  the program may not be included or bundled with other goods or services. Exceptions may be granted upon written request only. If you are using TE/2 and find it of value, you are expected to become a registered user. In exchange for registration you will receive an enhanced version of TE/2 containing, among other things, TE/2's Script Language interpreter. You will also receive printed documentation for TE/2, one free version upgrade when the next version becomes available, and automatic notification of all future releases. For information on registering, please see the file ORDER.FRM distributed with the shareware archive file. If for some reason this file is not available, please write, call, or fax Oberon Software for information. Addresses and phone numbers appear at the beginning and the end of this file. For use by corporations and other institutions, please contact the Oberon Software for a licensing arrangement. ═══ 5. System Requirements ═══ TE/2 is written for the IBM PC/AT, IBM PS/2, or any compatible computer that can run MS OS/2 or IBM OS/2. TE/2 will run in OS/2 Protected Mode only and may be run from either a full screen OS/2 session or on a Presentation Manager VIO window. TE/2 requires OS/2 version 1.2 or later. This version of TE/2 has been extensively tested under OS/2 Version 2.x and usder OS/2 Warp to insure proper operation in those environments. In addition, a modem or other asynchronous communications device will be necessary for the operation of TE/2. ═══ 6. About TE/2 - Overview ═══ TE/2 is a communications program for OS/2 protected mode. It is a full screen application (not a Presentation Manager application) and will run in either a full screen session or a VIO windowed session. Because TE/2 is multi-threaded, it cannot be made into a bound application. The shareware version of TE/2 is a fully functional communications program. There is no "expiration date" on which it self-destructs or otherwise becomes inoperable. The features which this version has in common with the full, registered version are complete and not "crippled" in any way. These features include:  Six terminal emulation modes: raw TTY mode, standard ANSI-BBS mode, an extended ANSI mode called ANSI-TE/2, VT100, AVATAR, and IBM 3101 emulation mode.  Six upload/download protocols: standard Xmodem-CRC with Checksum fall-back, XModem-1K which supports 1024 byte packets and automatic fall-back to standard XModem, YModem batch protocol, YModem-G variant of the YModem protocol for MNP modems, ZModem batch protocol, and straight ASCII text file uploads and log file capture ability for text file "downloads".  Multiple 200 entry dialing directories.  Default line parameters, terminal emulation, and transfer protocol assignable to each directory entry.  Time and date of last connection and number of connections to date saved for each directory entry.  Auto redialing, manual dialing, and round-robin "queue-dialing".  Alternate keyboard setups for use with remote host programs such as OS2You or Doorway.  Split screen "Chat" mode with access to nearly all of the program functions normally available in standard terminal mode.  Unlimited number of user definable external programs with very robust command line handling. External programs may be executed in the foreground or background, as a child process or as a separate session.  All 48 function keys fully programmable as text macros.  Shell to operating system.  "Scroll-Back" redisplay buffer, user definable to nearly any desired size. Scroll back buffer may be searched for text and the entire buffer or a subset may be written to disk or retransmitted as an ASCII upload with optional "quoting". ═══ 7. Installation ═══ You should use the INSTTE2.EXE program located on the distribution diskette, or in the distributed ZIP file, to install TE/2. This program will walk you through the steps required to install TE/2 on your system. If you are installing over an existing TE/2 setup, it will take care to preserve any modifications you may have made to any of the user files (TE2.INI, TE2.DIR, TE2.XEX, TE2.FNK, TE2INP.XLT, and TE2OUT.XLT). After TE/2 is installed, you may use CFGTE2.EXE to change your configuaration. If, for any reason, you do not use INSTTE2, you can install the files "by hand" keeping the following points in mind: You may place TE/2's files nearly anywhere you want on your hard disk with only a few restrictions: 1. The file COMMPAK2.DLL must be placed in a directory referred to in your LIBPATH setting from your CONFIG.SYS file. If you are not sure what this setting is, please look into your CONFIG.SYS file using a text editor such as the OS/2 system editor. Look for a line that begins "LIBPATH=". It will have a directory name, or list of directory names separated by semicolons, following the equal sign. COMMPAK2.DLL must be placed into one of these directories. IF YOU ARE USING OS/2 VERSION 1.x: The default version of the file COMMPAK2.DLL is a 32-bit library which can only be used with OS/2 2.x. A 16-bit version of the file is supplied however. It is named 16_BIT.DLL, place this file, renaming it to COMMPAK2.DLL on your hard disk instead of the default file. ADVANCED USERS: It is very convenient to place "." in the LIBPATH. I.e., "LIBPATH=.;C:\OS2\DLL;" so that the current directory is always searched first for a DLL. This way an application like TE/2 may be kept together in a directory with its attendant DLL(s). 2. It is recommended that you place all the rest of the files together in a single directory, perhaps creating a "TE2" directory specifically for this purpose. This is not a necessary procedure but it certainly aids in keeping track of TE/2 and its support files. PLEASE NOTE: If you are installing over an existing version of TE/2, you should take care that you do NOT overwrite your existing support files: TE2.INI, TE2.DIR, TE2.FNK, TE2.XEX, TE2INP.XLT and TE2OUT.XLT. The new version of TE/2 can and will read older versions of these files correctly. In the case of TE2.INI, you should refer to the information in the "Customization" section so that you can merge in any new features. 3. If you want to be able to execute TE/2 from any directory on your disk, you should make sure that the directory you have chosen for TE/2 is referred to in your PATH environment setting. TE/2 will be able to find its support files as long as they are in the same directory as TE2.EXE or otherwise somewhere along the PATH. Several of the support files will need to be customized for your system and/or personal preferences. The most important of these is the file TE2.INI. The use of this file is covered more completely below in the section on Customization. However, in order to get "up and running" it may be necessary to alter a couple of things in this file right now. TE2.INI is a flat ASCII text file; you may use the text editor of your choice to view or alter this file. For our purposes here we will assume that you are using the OS/2 system editor. Load the file into the editor either by typing "e te2.ini" at the OS/2 command line prompt or by invoking the editor from the Presentation Manager and loading the file via the editor's "File.." menu. Each line in the TE2.INI file contains a keyword followed by a value (or it is a comment line beginning with a semicolon). You should look for the following keywords. These are the things you are most likely to need to change: Device Alter this statement only if you need to do so as mentioned in the above paragraph on the "Port" statement. If your communications device is not named COMx (where "x" is a number from 1 to 8) you must "un-comment" this line (remove the leading semicolon) and replace the "com1" that follows the keyword with the name of your comm device. The "Device" statement will supersede the "Port" statement (although you may want to "comment out" the "Port" statement as a reminder to you later that the statement is unused). Baud This determines the baud rate at which TE/2 will begin operations. It is set to 2400 by default. If your modem is not capable of 2400 baud, you should replace the number "2400" on this line with the highest baud rate your modem is capable of. Likewise, if you have a high speed modem, you will most likely want to increase this number to your desired baud rate. If you do not have a Hayes compatible modem, you will need to refer to the "Customization" section below for information on further modifying the settings in TE2.INI. Otherwise, this should be sufficient for you to start up TE/2. ═══ 8. Starting TE/2 ═══ You may run TE/2 from either the OS/2 command line or the OS/2 desktop See also: TE/2 Command Line Parameters ═══ 8.1. From the OS/2 command line ═══ Once you've installed the various files as outlined in the section on Installation, you are ready to try running TE/2. From the OS/2 command line this is as easy as typing "TE2" at the system prompt. If you've placed the TE/2 directory in your PATH, you should be able to invoke TE/2 from any OS/2 command prompt, otherwise you should change directory to your TE/2 directory before trying to execute the program. The first thing you should see on the screen is the TE/2 logo display. If any errors were encountered while TE/2 was reading its initialization file a message or messages will be printed on the screen before the logo display. If you receive any such error messages you should locate the line referred to in the message, and correct the situation. Refer to the section on Customization below to find a discussion of the keyword in question. The logo display will remain on the screen for several seconds as TE/2 initializes, after which you may strike any key to remove the logo display, or simply wait several more seconds for it to remove itself. The second screen is a shareware notice. If this your the first time running TE/2 you should read through this screen. Afterwards, you may strike any key to enter TE/2 terminal mode or press the ESCape key to exit TE/2 at this point. This screen is not present in the version of TE/2 which you will receive when you register TE/2. To further control the behavior of TE/2, you may also use various TE/2 Command Line Parameters. Please refer to that section for more information. ═══ 8.1.1. TE/2 Command Line Parameters ═══ There are several command line parameters which you may specify for TE/2. In most cases, these parameters specify values which are also definable in the TE2.INI file. In these cases, the command line parameter will override the value set in the initialization file. Each command line parameters must begin with a slash ("/") or a dash ("-") followed by a one letter "switch". Each switch itself (except "-v") takes a parameter which must follow directly with no intervening whitespace. You may use either upper or lower case letters for the switches. -b startup baud rate -c comport (1 thru 8) to use -f name of alternate TE2.INI file, this may be any valid OS/2 file name with or without a path. If this parameter is present the specified file will be read instead of TE2.INI. -h open comm device handle. Use this if you are executing TE/2 as a child of a process which already has the comm port open. -m startup script file. Note, this switch is not used in the current version of TE/2 but for compatibility with the full version, it will not cause a syntax error if it is present. -p startup parity (N, O, E, M, or S) -s startup stopbits (1, 1.5, or 2) -w startup word length (7 or 8) -v print copyright, version, and date information and immediately exit (TE/2 is not run). -? print a short help screen listing these command line arguments plus copyright, version, and date information and immediately exit (TE/2 is not run). ═══ 8.2. From the Presentation Manager ═══ If you are running OS/2 2.x or later and have used the INSTTE2 program to install TE/2, you probably already have a TE/2 icon in a desktop folder to use for running TE/2. If so, just double click on the icon to start TE/2. If not, or if you wish to customize the program object, depending on the operating system you are using, please refer to:  OS/2 1.x Desktop (Presentation Manager)  OS/2 2.x Desktop (Workplace Shell) A Note About Colors If you run TE/2 in a Presentation Manager Window you may not be satisfied with the default color setup. These may be modified in your TE2.INI file. See the section on the TE2Color Program for information on setting the TE/2 color attributes. You may even specify an alternate initialization file for TE/2 when it is to be run in windowed mode. To do this you should make copy of the TE2.INI either in the same directory with a different name or in another directory (with or without a different name). Using the TE2Color program (or Alt-Y from within TE/2), make the changes to your alternate initialization file. You must also change the section in the Presentation Manager installation for TE/2 as regards Command Line Parameters; add the command line "-f" where "" is the name of your alternate initialization file. ═══ 8.2.1. OS/2 1.x Desktop (Presentation Manager) ═══ Because of the divergent methods of adding a program to the OS/2 DeskTop between the various versions of OS/2 1.x, you are directed to your OS/2 documentation for a full discussion exactly how to do this on your computer with your version of OS/2. We should make some notes here however.  TE/2 should be installed as either a Full Screen application or as a Windowed Application. It CANNOT (and should not) be installed as a Presentation Manager Application. You will find that you get the best response from TE/2 if you run it in Full Screen mode however.  After this you should be able to execute TE/2 by clicking on its name in the Start Programs or Group menu. If you start TE/2 from the File Manager (again, by clicking on its name or icon), TE/2 will startup in Windowed mode.  The icon file, TE2.ICO, shipped with TE/2 could possibly be incompatible with the OS/2 screen driver under certain versions of OS/2 1.x. If PM refuses to load TE/2, possibly with an error message indicating insufficient memory to load the program, try removing the icon file before trying again. NOTE:This error could also occur if you are attempting to use the OS/2 2.x specific version of the COMMPAK2.DLL file! See the Installation section for more information. ═══ 8.2.2. OS/2 2.x Desktop (Workplace Shell) ═══ If you use the supplied Installation procedure to install TE/2 and answered "Yes" to allow it to create a desktop object for you, you should already have a folder for TE/2 containing a program object for TE/2 and several other items on your desktop. If not, or if you wish to customize it, here is what you need to know. Figure KK. -- TE/2 Settings (Program Page) On the Program Page of the Settings Motebook, make sure that the Path and File name is set to the full path name for your copy of TE/2. The Parameters field will be passed to TE/2 as its command line, the example in Figure KK. redundantly specifies TE2.INI as the initialization file to use. See the section on the TE/2 Command Line for more information on this field. The Working Directory should be set to the same directory in which TE2.EXE is located. Figure LL. -- TE/2 Settings (Session Page) On the Session Page of the Settings Notebook, choose either OS/2 full screen or OS/2 window but be aware that screen performance is much better in a full screen session. On the other hand, in a full screen session, you will not have access to the OS/2 clipboard as you would in a windowed session. Figure MM. -- TE/2 Settings (General Page) On the General Page of the Settings Notebook, specify the name you wish to appear under the TE/2 icon and in the desktop Window List for your TE/2 program. If the TE/2 "globe" icon does not automatically appear on this page then you must have mistyped the program path and/or name on the first page of the notebook; go back and double check your work. ═══ 9. About TE/2 - Detailed ═══ The detailed overview of TE/2 contains the following topics: Terminal Mode Dialing Directory The Dialer Chat Mode The Scroll Back Buffer Protocol Status Display ═══ 9.1. Terminal Mode ═══ TE/2 enters terminal mode as soon as it has completed its startup procedures. In terminal mode the top portion of the screen will be mainly blank when you first enter; you may see one or two lines of information resulting from initializing the modem. The lower ten lines of the screen contain a menu of available commands along with the keystroke used to invoke the command. Let's examine these functions one by one. The behavior of many of these commands may be altered in the TE2.INI file. You should refer to the section on Customization for information on doing so. Here we will discuss the default behavior of each and note as to how they may be modified. ============================================================================= Alt-A Terminal Emulation Alt-J User Programs Alt-S Snap Shot Alt-B Send Break Alt-K Keyboard Macros Alt-T Logfile Toggle Alt-C Clear Term Screen Alt-L Logfile Open/Close Alt-U Upload Alt-D Dial Directory Alt-M Manual Dial Alt-V LF after CR Alt-E Toggle local Echo Alt-N Download Alt-W Scroll Back Alt-G Chat Mode Alt-O OS/2 shell Alt-X Exit to OS/2 Alt-H Hangup Alt-P Parameters Alt-Y Setup Colors Alt-I Information Alt-Q Queue Dial Alt-Z Toggle Menu Alt-= Alternate Keyboard Alt-R Redial -- TE/2 Terminal Emulator -- Figure AA. -- Terminal Screen Menu See also Control-BREAK. ═══ 9.1.1. Alt-A Terminal Emulation ═══ Alt-A Terminal Emulation You are presented with a menu listing the available terminal emulation modes. The current emulation mode will be the default selection on the menu; at startup this will be ANSI-TE/2 unless this has been changed in your initialization file. The various emulation modes are listed here with a brief overview of each. TTY "Raw" terminal mode, no character translation is performed except on carriage return, line feed, backspace, tab, and bell characters. There are no key reassignments made. ANSI-BBS Standard ANSI terminal mode as expected by most Bulletin Board systems. All color attribute commands, cursor positioning commands, and device status report commands are supported. Those ANSI command which change the video mode are NOT supported. The cursor keys, both on the numeric keypad with NumLock off and the dedicated gray cursor keypad are reassigned to send the standard ANSI keypad values. ANSI-TE/2 This is a slightly extended ANSI emulation mode. It supports everything that the ANSI-BBS mode does plus several extended commands. VT100 Supports most VT100 command codes. The cursor keypads are remapped and may be reprogrammed by the host. VT100 mode will respond to ENQ characters sent from the host if the EnqReply is defined in the initialization file. Function keys F1 - F4 will behave like the PF keys on the VT100 unless you have redefined them (see the section on TE2.FNK below). When in VT100 mode, the '*' key on the numeric keypad will act as if it were the COMMA key on the VT100 numeric keypad. Some VT102 functions are also supported. There are three VT100 specific setting in the TE2.INI file: EnqReply, VT100Backspace, and VT100Prn. EnqReply may be set to the string which the VT100 emulator will return to the host when it encounters the ENQ characters. VT100Backspace is by default "false" indicating that incoming backspace characters (ACSII 8) will be handled in the same manner as a true VT100, that is, the cursor will be moved one character to the left unless it already is at the left column of the screen; no characters are erased. If set to "true", the backspace will become "destructive"; it will be treated as though the VT100 emulation had received the sequence: Backspace, Space, Backspace. VT100Prn is by default NULL which disables the printing feature of the VT100/220. It may be set to any device or file name, all VT100 generated print output will be sent to this device or file. AVATAR This is a quick, binary terminal emulation mode which is also capable of "dropping back" to ANSI mode. Because of the binary nature of this emulation protocol, it can and does use all 256 possible character code values for control. Therefore you must be careful to not use XON/XOFF processing in your Device setup since this will result in the XON and XOFF characters being filtered from the data stream. Furthermore, you should not use any character filtering via the TE2INP.XLT file. 3101 Supports most character (stream) mode 3101 operations. Block mode is not supported in this release. The cursor keys and keypad are remapped to emulate the 3101 keyboard and function keys F1 - F8 will behave like the PF keys on the 3101 keyboard unless you have redefined them (see the section on TE2.FNK below). There are several 3101 specific settings in the TE2.INI file: AutoNL3101, AutoLF3101, Scroll3101, and EndChar3101. These simulate several of the switch setting on the IBM 3101 terminal. Refer to the Customization section elsewhere in this document for further information. ═══ 9.1.2. Alt-B Send Break ═══ Alt-B Send Break Transmits a 1000ms break signal. The duration may be changed in the initialization file. ═══ 9.1.3. Alt-C Clear Term Screen ═══ Alt-C Clear Term Screen Clears the terminal screen (that portion of the screen above the menu) to the current attribute. Note that this color attribute may not be the same as you have defined for the terminal screen (default is white on black) if you are in an ANSI mode and the remote system has sent the appropriate codes to reset the default attribute. You may alter the operation of the Clear Screen function such that it will restore the default attribute before clearing the screen via the "ClsReset" setting in the TE2.INI file. ═══ 9.1.4. Alt-D Dial Directory ═══ Alt-D Dial Directory Enter dialing directory mode. The various features and functions of the dialing directory are covered in detail in the section titled The Dialing Directory ═══ 9.1.5. Alt-E Toggle Local Echo ═══ Alt-E Toggle Local Echo Local echo is OFF by default unless it has been changed in the initialization file. When local echo if ON all characters typed at the keyboard are sent to the screen as well as transmitted to the communications port. Most BBS systems will automatically echo your characters back to you through the phone lines so you will want to leave Local Echo turned off or you will see each character appear twice on the screen. Some host systems do not echo your characters, when connected to such as system you must turn Local Echo ON in order to see what you are typing. Note: You may set the state of the local echo on an entry by entry basis in the dialing directory. ═══ 9.1.6. Alt-G Chat Mode ═══ Alt-G Chat Mode Enter chat mode. The various features and functions of chat mode are covered in detail in the section titled Chat Mode. ═══ 9.1.7. Alt-H Hangup ═══ Alt-H Hangup Sends a sequence of commands to the modem which will cause any active connection to be severed. If you are currently on-line when you request hangup, TE/2 will ask you for verification before proceeding; this behavior may be modified in the initialization file so that it will always ask or never ask. The default terminal color attribute is restored after a hangup command is issued. Note: The default action at hangup is to drop the Data Terminal Ready signal momentarily before sending the default modem hangup command. You may alter this behavior in the initialization file so that DTR is not dropped. You may also modify the modem command string. ═══ 9.1.8. Alt-I Information ═══ Alt-I Information Presents an informational display of the current values of the following settings: Com Port: Port number/name Baud: Baud rate setting Parity: Parity setting (None, Even, etc.) Word Length: Data Word length (7 or 8) Stop Bits: Number of stop bits (1, 1.5, or 2) Emulation: Emulation mode (TTY, ANSI-BBS, etc.) Local Echo: Local echo setting (True or False) LF after CR: CR/CR-LF setting (True or False) Line Status: OnLine or OnHook Log File: Log file name Log Status: Log file status (Open, Closed, or Paused) Process: Always "1" in this version of TE/2 The bottom line of the Information display contains the current date and time. The time display is a real-time clock. The current version of TE/2 and of the CommPak/2 Dynamic Link Library, and contact information for Oberon Software are also displayed at this time. ═══ 9.1.9. Alt-J User Programs ═══ Alt-J User Programs Displays a menu of the user defined external program as set forth in the file TE2.XEX. The default set of these entries contains mainly examples which use some standard OS/2 programs to give you a guide to installing a set of your own. For more information on this procedure please refer to the section dedicated to the TE2.XEX file. To execute a program on this list, just move the menu highlight to the desired line and press ENTER. You may have more than one set of external programs defined. TE/2 always reads the default set from TE2.XEX first however if you type "N" (for "New File") while the external programs menu is on screen you will be prompted for a new file to load for this menu. ═══ 9.1.10. Alt-K Keyboard Macros ═══ Alt-K Keyboard Macros Displays a menu that will allow you to examine and/or alter the strings assigned to all 48 function keys (the 12 "Normal" function keys, and in conjunction with the Shift, Control, and Alt keys). These assignments define what will be transmitted when that key is typed in terminal mode. The menu contains the following options: Regular Shifted Control Alt Save File New File The first four options on this menu will each invoke a dialog wherein the 12 associated function key assignments may be viewed. You may use the up and down cursor keys to move about and any of the 12 lines may be edited. When your editing is complete you may type ENTER and the new assignments will be in effect or type ESCape to return the assignments to what they were before you entered the section. There are two "special" characters which may be entered into a function key assignment. They are the tilde ("~") and the caret ("^") characters. The tilde will be translated into a 0.50 second pause when the string is sent to the modem. The caret works in conjunction with the character directly following it. This is your method of embedding control codes into the string. If you need to transmit a carriage return character you will need to use the sequence "^M" (pronounced "Control-M") to do so. The carriage return character has the ASCII code 13, the "M" is the thirteenth character in the alphabet, thus the conversion. Similarly, the line feed character has ASCII code 10 so you would use "^J". A couple less obvious examples would be "^@" to send a NULL (zero) character and "^[" to send the ESCape character (ASCII code 27). Use "^!" if you need to send an actual "^" character. In the registered version of TE/2 you may also have a function key execute an arbitrary TE/2 Script Language command. Any function key definition which begins with an exclamation point will be treated as a command. Another way to exit this dialog is by typing a function key (without the Shift, Control, or Alt key). This will exit both the dialog and the Function Key menu and transmit the string associated with that key in the current dialog. You should be aware that two of the terminal emulations, the VT100 and the IBM 3101 will use some of the unshifted function keys to emulate their respective keyboards if they have not been redefined here. The VT100 uses keys F1 through F4, the 3101 uses F1 through F8. If you want the emulation package to have access to these keys you should not redefine them through this facility. ═══ 9.1.11. Alt-L Logfile Open/Close ═══ Alt-L Logfile Open/Close If there is no log file currently open, you will be prompted for the name of a file. If you don't specify a path with the file name, the default log file path specified in your initialization file will be added to the beginning of the file name (the default log file path is the current directory unless you have modified the setting in the initialization file, see the section on Customization for details). If the file already exists you will be asked if you want to append new data to that file, overwrite the old file with the new data, retype the file name, or just cancel the whole affair. All characters that are sent to the terminal screen while a log file is open (except for ANSI ESCape codes) will be placed into the log file. This is useful for capturing a long stream of text or messages from the remote source so that you may look through it later when you are off-line. If there is a log file currently open, this function will close it. ═══ 9.1.12. Alt-M Manual Dial ═══ Alt-M Manual Dial Use this function to dial a phone number that is not in your dialing directory. Simply type the number as it should be dialed at the prompt. TE/2 will dial that number, the line settings will be whatever is current when Manual Dial was invoked. You may always change the line settings later. ═══ 9.1.13. Alt-N Download (Also: Gray PgDn key) ═══ Alt-N Download (Also: Gray PgDn key) This presents you with a menu of choices for which download protocol you wish to begin. The choices available in this version of TE/2 are: XModem This is a nearly universal protocol in the PC world. Though others may be faster, it is almost guaranteed that any system you are connected to will support the XModem protocol. When you select XModem from the menu you will be asked to supply a file name for the incoming file. There are two different "flavors" of XModem. The difference is in the error detection method employed. The older method uses what is called a CheckSum, the newer uses a "Cyclical Redundancy Check" (CRC) method. You might see these referred to on various systems as "XModem" and "XModem-CRC". TE/2 is able to automatically detect which version of XModem the receiving system is expecting and will adapt appropriately. TE/2 will always try first to use the more reliable CRC method but will "fall back" to CheckSum error detection if necessary. XModem1K This is exactly like XModem except that XModem1K uses a larger block size (1024 bytes as opposed to 128 bytes in XModem) and will be slightly faster because of it. XModem1K uses the CRC (see notes in XModem above) method is error detection. XModem1K is able to automatically "fall back" to XModem-CRC if necessary. When you select XModem1K from this menu you will be asked to supply a file name for the incoming file. This protocol might actually be called YModem by some systems or communications programs. This is an historical accident that you must be aware of. These systems and programs usually refer to "real" YModem as YModem Batch. YModem YModem is like XModem1K but adds one extra packet of information preceding each file it transfers. This packet contains the files name, size, and the time/date stamp of the file. Thus YModem is able to recreate the transferred file more exactly than the XModem protocols. When you select YModem from this menu you will not be asked to supply a file name because this feature of the protocol. YModem is a "batch" protocol. This means that the sending system is able to send several files, one after the other, during one YModem session. Some systems and communications program may call what is really XModem1K by the name YModem (see notes in XModem1K above) and may call what is really YModem by the name YModem Batch. YModem-G This is exactly like YModem as described above except that the protocol makes very little attempt to detect errors that occur during the transmission. It is for use between two systems, both of which are using modems capable of doing this error detection/correction themselves (such as an MNP modem). If you are unsure of whether your modem has such a feature or whether the remote system to which you are connected has such a modem, you should probably not attempt to use YModem-G. You should check your modem documentation to determine whether your modem is capable of hardware error correction and, if so, how to enable this feature. If you are unsure of the remote source, you should ask the system operator or administrator. ZModem ZModem is an evolutionary step beyond the XModem/YModem family of protocols. It uses a more sophisticated method or error detection and correction, is able to transmits data packets in one direction on the phone line while transmitting verification or error reports in the other, and can dynamically reconfigure its own operation during a transfer in an attempt to gain the best results for the current line connection and other variables. ZModem was developed by Chuck Foresburg for Omen Technologies and is a trademark of theirs. The source code for (a Unix/DOS/VMS version of) ZModem has been placed into the public domain and is available for download to any interested parties via the Oberon Software User Support BBS free of charge. CompuServe B Plus Protocol Note that CompuServe B Plus protocol is only available in the registered version of TE/2. This protocol does NOT appear on the upload or download protocol menus because of the client-server nature of the CompuServe Transport Layer. In order to accomplish a CIS B Plus file transfer with CompuServe, you must select CIS B Plus as the default file transfer protocol in the dialing directory entry for CompuServe (see the section on the TE/2 Dialing Directory for details). While you are on-line with CompuServe, TE/2 will then be in a CompuServe "mode". If you then select a B Plus file transfer to the CompuServe host, from that point on, the details of the file transfer will be handled by CompuServe and communicated directly to TE/2 through the protocol. It should be noted that CIS B Plus Protocol does NOT follow the rules for Default Download and Upload paths and the progress reports in the Protocol Status Display may be more esoteric than with the other protocols. As the file transfer progresses, you will be kept abreast of its progress via a dialog box. Refer to the section on the "Protocol Status Display" for an explanation of this dialog. ═══ 9.1.14. Alt-O OS/2 shell ═══ Alt-O OS/2 shell This function will execute a new copy of CMD.EXE as a foreground task and allow you to perform a directory listing, copy files, or run nearly any program you need at a moments notice. Because of the multitasking nature of OS/2 and the Presentation Manager, this function if not strictly necessary (as it was in MSDOS) however we have found it much quicker and more convenient for many simple tasks to use this function rather than Alt-ESCaping or clicking to another window. TE/2's current screen contents are saved before the shell is executed and restored upon return. You should NOT however remain the this OS/2 shell for long periods of time (or at all) if there is any amount of data coming in at the comm port as TE/2's comm port handler will work at reduced efficiency during this process and data may be lost. By default, the program executed by this function is CMD.EXE which results in an OS/2 command line prompt. If you have some other command interpreter, such as the Hamilton CShell or Brady Flowers' FSHL program, you may optionally configure this function to execute any program of your choice. Please refer to the section on Customization for details on how to accomplish this. This is not restricted to "shell" programs, the executed program could as well be an editor or any other text mode application. However, you should note that there is much greater functionality for executing external programs in the "User Programs" section (see the section with that name above and also under Customization for details) so you will probably want to restrict your use of this feature to a simple shell program. ═══ 9.1.15. Alt-P Parameters ═══ Alt-P Parameters This function presents you with a menu allowing you to view and optionally alter the current settings for: Port, Baud, Parity, Word Length, and Number of Stop Bits. The menu is two dimensional, the left and right arrows move you between the various parameters while the up and down arrows move you between the various possible settings for the current parameter. ┌───────────────────────────────────────┐ │ Set Line Parameters │▒ ├───────────────────────────────────────┤▒ │ Current: COM2,2400,N,8,1 │▒ ├───────────────────────────────────────┤▒ │ │▒ │ Port Baud Parity Word Stop │▒ │ │▒ │ COM1 110 None 7 1 │▒ │ COM2 150 Odd 8 1.5 │▒ │ COM3 300 Even 2 │▒ │ COM4 600 Mark │▒ │ COM5 1200 Space │▒ │ COM6 2400 │▒ │ COM7 4800 │▒ │ COM8 9600 │▒ │ 19200 │▒ │ 38400 │▒ │ 57600 │▒ │ │▒ │ [ENTER] accept [ESC] abort │▒ └───────────────────────────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Figure BB. -- The "Alt-P Parameters" Menu Display If you do not wish to change the current settings, you should press ESCape when you are done viewing the display. If you have changed any of the settings, they will be discarded unless you press the ENTER key. If TE/2 is unable to set the communications port to the values you specified, it will present you with an error message and no parameter's setting will have been changed. If TE/2 was successful however, the menu display will simply disappear. NOTE: In this release of TE/2, only comm ports COM1 through COM8 may be selected via this menu. There is no facility for changing the communications device if it has a name other than one of these eight. Furthermore, if you selected a communications port via the "Device" directive in TE2.INI, whether is has one of the names listed above or not, that choice may not be accurately reflected in this display. ═══ 9.1.16. Alt-Q Queue Dial ═══ Alt-Q Queue Dial This function is exactly equivalent to the Queue Dial function in the Dialing Directory section of TE/2. If you have marked any dialing directory entries for the queue while in the dialing directory (see that section of this document for further information) this function will restart the Queue Dialer at the beginning of the queue. ═══ 9.1.17. Alt-R Redial ═══ Alt-R Redial This function will redial the very last number which was dialed whether that dialing attempt succeeded or failed and whether the number was dialed via the Dialing Directory, the Queue Dialer, or Manual Dial. ═══ 9.1.18. Alt-S Snap Shot ═══ Alt-S Snap Shot This function will save the contents of the current screen to a disk file. The files name is TE2SNAP.SHT and will reside in the current directory unless you have specified an alternate file name in TE2.INI (see the section on Customization). If the file already exists, the screen image will be appended to the file so as not to overwrite what is already in the file. ═══ 9.1.19. Alt-T Logfile Toggle ═══ Alt-T Logfile Toggle Toggles the Paused/Active status of the open log file. If no log file is open, this function does nothing. Otherwise, if the log file is currently active, this function will "Pause" is, activity on the terminal display will not be placed in the log file while it is paused. If the log file is currently in the Paused state, this function will reactivate it. The current status of the log file (open or closed, paused or active) can be obtained by using the Alt-I Information function. See also Alt-L Logfile Open/Close for more information on the log file. ═══ 9.1.20. Alt-U Upload (Also: Gray PgUp key) ═══ Alt-U Upload (Also: Gray PgUp key) This presents a menu of the available upload protocol choices. The choices available in the current version of TE/2 are: XModem XModem1K YModem YModem-G ZModem Ascii For the first five please refer to the Alt-N Download section for details, upload is very much like download with the obvious exception of the fact that during an upload you are sending a file or files while during a download you are receiving. One other difference is that you are prompted for the file or files to upload in each of the five protocols, for XModem and XModem1K you may specify one and only one file for upload, for YModem, YModem-G, and ZModem you may specify a "wildcard" file name. This is to say, you may transmit all files with the extension ".ZIP" in the current directory by answering "*.ZIP" at this prompt. This wildcard handling is exactly the same as when you are at the OS/2 command line prompt. CompuServe B Plus Protocol Note that CompuServe B Plus protocol is only available in the registered version of TE/2. This protocol does NOT appear on the upload or download protocol menus because of the client-server nature of the CompuServe Transport Layer. Please refer to the notes in the discussion of Download Protocols and also in the section on the Protocol Status Display for more notes regarding CompuServe B Plus Protocol. ASCII Uploads The Ascii upload protocol is a bit different from the rest. Whereas the other protocols are all capable of transmitting and receiving binary files (program files, archives, 123 spreadsheets, etc.) the Ascii upload protocol is for text files only. You would usually use this protocol for entering previously composed messages into a bulletin board message base or similar activities. There is no special state or protocol that must be activated on the receiving end other than the remote system must be in a state where it expects text entry from you. When you begin an Ascii upload you are presented with the dialog box in Figure CC. ┌───────────────────────────────────────────────────────────┐ │ Enter file name for Ascii Upload: │▒ │ █████████████████████████████████████████████████████████ │▒ │ │▒ │ Prompt Char: None End of Line Seq: Yes │▒ │ Char Pacing: 0 ms Expand Blank Lines: Yes │▒ │ Line Pacing: 0 ms View Output: No │▒ │ Strip 8th bit: No │▒ │ │▒ │ [ENTER] Begin [ESC] Abort [] Select [SPACE] Toggle │▒ │ │▒ └───────────────────────────────────────────────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Figure CC. -- Ascii Upload Information Dialog You may move about within the dialog using the arrow keys and/or the TAB/Shift-TAB keys and answer the various questions if any need modification. These are discussed individually below. When you are ready to send the file, press ENTER, use ESCape to abort the process. The only field which absolutely needs to be filled in is the file name field. You must type the name of an existing text file in this area. When you have typed the file name, do not use the ENTER key unless you have no other fields in the dialog to adjust, use the arrow or TAB keys instead to position the highlight on the desired field. The default values used in this dialog may be set to the values you most often require in the TE/2 initialization file. See the section on Customization for further information. Prompt Char On some bulletin boards and services, the message editor will "prompt" you for each line of input, on some text entry of messages is entirely free form. For instance, when entering a message on GEnie, once you have typed the first line of text you must wait for GEnie to respond with the prompt "2>" before proceeding and again for "3>" on the next line, et cetera. Thus for GEnie you would want to set the Prompt Char to ">". You do this simply by typing ">" when to words "Prompt Char" are highlighted. Other bulletin boards may use "nnn:" (where "nnn" is the next line number), for these you would set the prompt character to ":". The effect of all of this is to cause the Ascii upload protocol to wait after it has sent each line until it receives the prompt character from the remote service. To reset the prompt character to "None" you must use the space bar. This implies that the space character may never be used as a prompt character, which is probably not a major problem. Char Pacing This is the time, in milliseconds, that the Ascii upload protocol will wait between transmitting successive characters. Set this to a higher value if the remote system seems to be losing some characters out of your text. Line Pacing This is the time, in milliseconds, that the Ascii upload protocol will wait between transmitting successive lines of text. This will be most useful in situations where you have not specified a prompt character and the remote seems to be losing parts of or entire lines of your text. End of Line Seq This may be set to "LF", "CRLF", or "CR", you cycle through the values by using the space bar when the highlight is on this prompt. If it is set to "LF" then each line of text that is sent will be terminated with a single line feed character (ASCII code 10). If it is set to "CRLF" the each line of text will be terminated with a carriage return (ASCII 13) and a line feed. If it is set to "CR" then each line will be terminated with a single carriage-return character. Expand Blank Lines This may be set to "Yes" or "No"; you alternate between the values by using the space bar when the highlight is on this prompt. Some bulletin boards and services assume that a blank line (that is a line with nothing on it at all, not even space characters) is the end of the input. If the text file you are uploading contains blank lines this will cause problems. If this option is set to yes then blank lines in the file are sent out as lines containing a single space character. View Output This may be set to "Yes" or "No"; you alternate between the values by using the space bar when the highlight is on this prompt. This will usually be set to false only if the bulletin board or service has an actual text mode or ASCII upload mode wherein it does not display the incoming text. Strip 8th bit This may be set to "Yes" or "No", you alternate between the values by using the space bar when the highlight is on this prompt. Some services and mainframe hosts are not able to accept the entire 8 bit Ascii character set as input (the Extended Ascii set actually). If this option is set to yes, any character with an Extended Ascii code greater than 127 will have 128 subtracted from its ASCII value before it is sent, effectively mapping the entire 8 bit Extended Ascii character set onto the 7 bit Standard Ascii character set. Note that this will cause characters such as the IBM box drawing characters, accented, international language characters, and extra symbols to appear differently, perhaps confusingly so, to the receiver. ═══ 9.1.21. Alt-V LF after CR ═══ Alt-V LF after CR Normally, when you press the ENTER key in terminal mode, a carriage return character (ASCII 13) is transmitted. If this option is toggled on, the key produces a carriage return followed by a line feed character (ASCII 10). This defaults to OFF unless you have reset the default behavior via the initialization file (see the section on Customization). You can determine the current state of this setting by viewing the Alt-I Information display. If you are currently in VT100 emulation mode, Alt-V will effectively toggle the terminal emulation into and out of the VT100's Newline mode. Note that this will change the translation of incoming LINEFEED characters. This will happen in VT100 mode only. ═══ 9.1.22. Alt-W Scroll Back ═══ Alt-W Scroll Back This allows you to view, and interact with, the contents of TE/2's scroll back buffer. See the section on the Scroll Back Buffer for further information. ═══ 9.1.23. Alt-X Exit to OS/2 ═══ Alt-X Exit to OS/2 This will terminate TE/2 and return you to the OS/2 command line prompt or the Presentation Manager depending on the method you used to start TE/2. If you are currently on-line when you attempt to exit, TE/2 will ask you for verification before proceeding. If you are on-line at exit time, TE/2 will hang up the line (see Alt-H Hangup) before exiting. ═══ 9.1.24. Alt-Y Setup Colors ═══ Alt-Y Setup Colors Allows you to setup you color configuration for TE/2. This function will only work if TE/2 is able to locate and execute the program TE2COLOR.EXE and read and modify the file TE2.INI (or other file as named using the "-f" command line switch). TE/2 will search for the program TE2COLOR.EXE, looking first in the current directory, then the same directory in which the currently executing TE2.EXE resides (if different), and finally along the directories listed in the PATH environment variable. Note: TE2COLOR.EXE may be executed from outside of TE/2 also. If you do so, you must provide the full name of the TE/2 initialization file you wish to read and alter (usually TE2.INI). Note: Executing TE2COLOR.EXE via Alt-Y from within TE/2 will not work correctly if you have your color statements in a file which has been included in TE2.INI via the "Include" statement. You may, however, execute TE2COLOR.EXE externally giving it the name of the included file. ═══ 9.1.25. Alt-Z Toggle Menu ═══ Alt-Z Toggle Menu Use this to display or hide the 10 line keystroke menu at the bottom of the terminal screen. The terminal screen is effectively ten lines larger when the menu is hidden. ═══ 9.1.26. Alt-= Alternate Keyboards ═══ Alt-= Alternate Keyboards Alt-= (ALT-EqualSign) will invoke the menu pictured in Figure DD. allowing you to select from a list of alternate keyboard modes. You must remember that, with the exception of "Normal" mode, none of TE/2's other function keys will be available while in an alternate keyboard mode. The single exception to this is the Alt-= key itself which will always be active. Alt-= is the only way out of an alternate keyboard mode (short of using Control-Break or OS/2 system services to end TE/2, that is). Each of the alternate keyboard modes is explained below. ┌───────────────────────────┐ │ Keyboard Mode │▒ │ │▒ │ Normal │▒ │ OS2You Mode │▒ │ Doorway Mode (Standard) │▒ │ Doorway Mode (Enhanced) │▒ │ Pure Binary │▒ │ │▒ └───────────────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Figure DD. -- Alternate Keyboard Menu Mode Explanation Normal This menu choice returns you the normal TE/2 keyboard. OS2You "OS2You Mode" is a translated mode which replaces many of the cursor movement and function keys with ESCape sequences. It is to be used in conjunction with the OS/2 program "OS2You" by Mikael Wahlgren. It will send keystrokes as expected by OS2You for the various function keys (i.e., Alt-A transmits "ESCAPE A", PageUp transmits "ESCAPE u"). Shift states for the "F" keys are handled internally so you don't need to worry about them; if you want to send a Shift-F3 or Control-LeftArrow, just press the appropriate key. For more information on exactly what is being transmitted, OS2You can be made to display the mappings while on-line with an OS2You session by pressing ESCAPE and waiting about 2 seconds. Please note, the ESCAPE key itself is NOT mapped, if you want to pass an ESCAPE character through OS2You you must press ESCAPE twice. Doorway "Doorway Mode" is a pseudo binary mode for use in conjunction with the DOS program "Doorway" by Marshall Dudley. All ASCII characters are sent as usual and extended ASCII keys (function keys, keypad keys, etc.) are sent out as two byte units of scan code plus character code. There are two sub-modes as explained below. Standard In "Standard Doorway Mode" all extended keystrokes are sent as ASCII 0 followed by the scan code. This maps directly to the actual character and scan codes from the keyboard for most of the extended keys. The keys that were new on the 101 key keyboard differ in that they send a character code of 224 instead of zero. In standard mode the 224 is changed to 0. Enhanced "Enhanced Doorway Mode" allows for the newer extended keys by sending a three byte packet of ASCII 0, 224, and the scan code for these keys. Pure Binary "Pure Binary Mode" is exactly like "Enhanced Doorway Mode" except that it does NOT send the leading ASCII 0 for the new function and keypad keys. ═══ 9.1.27. Control-BREAK ═══ Control-BREAK When a Control-BREAK is encountered (at any point during execution, not just in terminal mode), you will be presented with a popup menu that will allow you to Resume execution, Resume execution after flushing the I/O buffers, or to exit TE/2 immediately. In the registered version, if a script (original TE/2 syntax) is currently executing, you will also have the option to abort the current script or all nested scripts. If a REXX language script is executing, the menu will not be displayed but the currently executing script will terminate. Note that "Flushing the I/O buffers" may or may not restart flow to and from the comm port, depending on the reason flow is blocked. The buffers which are flushed are the device driver's not TE/2's. This action will get you going again, however, if TE/2 is waiting for the remote to send an XON character after receiving a false XOFF. If XonXoff is enabled for transmit, an XON character will also be immediately transmitted to the remote. "Resume" and "Flush the I/O Buffers and Resume" may have little or no effect if a file transfer protocol is currently in progress. ═══ 9.2. The Dialing Directory ═══ Our discussion of the TE/2 Dialing Directory is divided into the following topics: Overview and Contents Features Sorting ═══ 9.2.1. Dialing Directory Contents ═══ The Dialing Directory is your "Little Black Book" into the world. This section of the program allows you to record and save telephone numbers and associated information for up to 200 bulletin boards and/or host services. If two hundred is not sufficient for your needs, you may have as many optional dialing directory files as you wish, each one capable of containing up to 200 phone numbers. Each entry in the Dialing Directory may contain some or all of the following information: Name: The name of the BBS or service in a meaningful form. This name will be displayed during dialing, upon making a connection with the number, and in the TE2CALL.LOG usage file. Tag: A five character "nickname" for this entry. This field is not used by this version in any way however it is present so that directory files will be consistent with the registered version of TE/2. This field is available to programs written in the TE/2 Script Language that accompanies the registered version (see the section on Registering TE/2 for more information on this subject). Number: The phone number to dial. This can contain numbers up to 29 characters in length. This number will be passed directly to your modem when TE/2 attempts to dial this entry. In the simplest case, this is just a phone number the way you are used to seeing such numbers (i.e., "1-123-555-1212"). Your modem will probably allow you to put other characters into the numbers to activate certain special features such as pauses, wait for dial tone and continue, switch-hooking, et cetera. You should consult your modem manual for details. Please note, you do not have to put the actual modem dialing command into this string ("ATD" or "ATDT" on Hayes compatible modems). This part of the dialing process is handled automatically by TE/2's dialer. Notes Regarding Alpha Characters in Phone Numbers: Some modems allow you to specify a letter associated with the number on the phone dial or keypad instead of the number. To do so you usually need to enclose the alpha portion in quotes. Thus, MCI Mail's phone number could be specified as: 1-800-645"MAIL" (the closing quote being optional because no further numeric data occurs in the string). TE/2 will pass any quoted alphabetic characters to the modem untranslated along with the actual quote character(s). There is also an Access Code lookup table of ten entries that allows you to define extended strings that may be embedded into a phone number using the letters A through J. An empty access code entry will return the empty string. Any letter K through Z which appears, unquoted, in a phone number will be sent intact to the modem. This is useful if one needs to use the Hayes "W" (wait for second dialtone) in a phone number. Line Parameters: You may specify the what baud rate, parity, word length, and number of stop bits to use while connected to this number. Once the dialer has successfully connected with the number, these line parameters will be automatically set for you. You may, of course, reset them at any time after this via the Alt-P Parameters function. Local Echo: You specify whether Local Echo mode should be turned on or off when the dialer successfully connects with this number. You may reset this at any time after this via the Alt-E Local Echo function. Default Protocol: This specifies the preferred file transfer protocol for this number. When you use the upload or download functions (Alt-U Upload, Alt-N Download, or the Gray PgUp/PgDn keys) this will be the highlighted line on the menu of available protocols when the menu appears. You may the simply press ENTER to use this protocol. You may, of course, select any other item on this menu instead. Note that "Ascii" is an option on this menu. Because this is an "upload only" protocol (ASCII downloads are handled by using the Log File functions), entries that specify this as the default protocol will have it apply only to uploads. The download protocol will default to the most recently used protocol. You should specify this as the default protocol for services like MCI Mail where you typically upload only text material. Note further that choosing CompuServe B Plus protocol for the default protocol has a somewhat different meaning also. CompuServe maintains a client-server based transport layer between itself and the terminal program. If you want to be able to use this protocol with CompuServe, you must select it as the default protocol for CIS's entry in your Dialing Directory. For more notes concerning CIS B Plus, see the sections, elsewhere in this document, regarding Download Protocols and the Protocol Status Display. Terminal Emulation: Specifies the terminal emulation mode to automatically select once the dialer has successfully connected with this number. You may reset this at any time after this via the Alt-A Terminal Emulation function. Password: Although labeled "Password", you may store any information in this field you desire. In the registered version of TE/2, the contents of this field are available to you via a script language function. This field is not used in any other way by the shareware version of TE/2. Script File: This field is not used in any way by the shareware version of TE/2. It present so that directory files will be consistent with the registered version of TE/2. In the registered version, this names a program file written in the TE/2 Script Language that will be automatically executed when the dialer successfully connects with this number (see the section on Registering TE/2 for more information on this subject). ═══ 9.2.2. Dialing Directory Features ═══ ┌────────────────────────────────────────────────────────────────────────────┐ │ Dialing Directory │ │ File Name │ ├────────────────────────────────────────────────────────────────────────────┤ │ Tag Name Parms Number │ │ │ │ 1 ..... ........................ ........ . .............................. │ │ 2 ..... ........................ ........ . .............................. │ │ 3 ..... ........................ ........ . .............................. │ · · · · · · ├────────────────────────────────────────────────────────────────────────────┤ │ [ENTER] Dial Entry [INS] Insert New Entry [C] Change Entry [S] Save File │ │ [ESC] Exit [DEL] Delete Entry [T] Toggle Info [N] New File │ │ [/] Select [SPACE] Mark/Unmark [Q] Queue Dial [A] Acc Codes │ └────────────────────────────────────────────────────────────────────────────┘ Figure EE. -- TE/2 Dialing Directory Display When you enter the Dialing Directory your screen will resemble what you see in Figure EE (it uses the entire screen, the vertical sequence of dots at the left and right edges imply that information has been omitted). The current Dialing Directory file name will be displayed where you see "File Name" in the figure. By default this will be "te2.dir" but this may be changed via the "[N] New File" key. At the bottom of the screen will be the menu of available keys as shown in the figure. The entire central portion of the screen will be occupied by the actual directory entries. The first entry will be highlighted if this is the first time in the Dialing Directory during this session with TE/2, otherwise the highlighting will be on the same entry that was highlighted the last time you viewed the Dialing Directory. These are the functions that are available to you while in the Dialing Directory. [/] Select You may move the highlighted bar up and down through the entries, scrolling the display if necessary, to select the entry you are interested in. Other keys available for navigation through the directory but not listed on the menu are: [PgUp] - move the highlighted bar back one page [PgDn] - move the highlighted bar forward one page [Home] - move the highlighted bar to the first entry [End] - move the highlighted bar to the last entry In addition to all of this, the numeric keys 0 through 9 can be used for a type of incremental search through the directory. For instance, if the highlight is on entry number two and you type the "3" the highlight will move to the third entry. If you type the "3" again, the highlight moves to the thirty-third entry. If you type the "3" again, the highlight remains where it is because there is no entry number 333. The search works only in the forward direction and any key stroke other than a number key restarts the sequence. Thus, if the highlight is on entry 57 and you want to quickly move to entry number 24, the fastest way there is the keystroke sequence: [Home],2,4. NOTE: If you hold down the Control Key while using the up and down arrows, you may "drag" the current directory entry along with the highlighted bar. You can use this feature to manually reorder the entries in your directory. Changes in the order of the entries must be saved to disk by pressing [S]. See the notes later in this section on sorting directory files. [ENTER] Dial Entry This will submit the highlighted entry to TE/2 phone dialer. [ESC] Exit This will exit the Dialing Directory display and return you to the terminal screen display. [C] Change Entry This will present you with a dialog box wherein you may specify or respecify all of the information to be associated with the highlighted entry as outlined above. [INS] Insert New Entry This will create a new, blank entry at the highlighted position, move all succeeding entries down one position in the list, and place you in the same dialog box for entering information as "[C] Change Entry" mentioned above. If there is an entry defined at position 200, you will be asked if you want to continue because it will be deleted by this process. [DEL] Delete Entry Removes the highlighted entry and moves all succeeding entries back up by one, closing the "hole". A blank entry is inserted at position 200. You will be asked to verify the deletion before it is actually performed. [S] Save File TE/2 may be configured to automatically save the directory file every time you leave the screen or it may be configured so that you must manually save any changes you have made (see the section on Customization). Regardless of this setting, you may use this function to save the current directory information to a file immediately. You will be prompted to enter a file name which does not need to be the same as the current directory file. [N] New File This will prompt you for and load a new directory file (usually one created via the "[S] Save File" function). Be careful if you have made any changes to the current directory information that you wish to keep. You should make sure that the current directory file has been saved (either automatically or manually) before loading a new file. [T] Toggle Info This keystroke cycles the directory display through several states. By default the rightmost column show the telephone number associated with each directory entry. Through successive uses of this key you may view any of the following information for all entries: Script File Display the names of the associated script files in the rightmost column. Last Connect - Count Display the time and date of the last time you connected to this number and a count of how many times connection has been made. Protocol - Emulation Display the default protocol and terminal emulation associated with each entry. Password Display the contents of the "Password" field for each entry. [SPACE] Mark/Unmark The space bar will mark or unmark the highlighted entry. A marked entry has a triangular arrow placed on the display pointing at its tag. A marked entry is placed on the "queue" for use with the Queue Dialer (see below). [Q] Queue Dial If there are marked entries (see above) in the current directory, this key activates TE/2's Queue Dialer. This will dial each marked entry in turn until one of them is connected with or until you press the ESCape key. When an entry has been connected with, it is unmarked and removed from the queue. [A] Acc Codes Allows you to enter, view, and/or edit ten "Access Code" strings which are stored with the directory and are available for use within phone numbers. Each directory file has its own, unique set of these codes. As mentioned in the section "Notes Regarding Alpha Characters in Phone Numbers", the letters "A" through "J" when embedded into a phone number will be translated during dialing into the associated string as defined in the current directory file's Access Codes. If a given code is undefined, it evaluates to the empty string. Once translated, no further (recursive) translation of Access Codes will occur so you may use the letters "A" through "J" in the body of your Access Codes without problem. Some possible uses for Access Codes:  Store credit card access codes (this is where the name came from) and IDs in these fields and use them in conjunction with the modem commands "," and "W" to help automate credit card calls.  If you travel, you may want to insert an unused Access Code into where the area code would go for all entries in your local area code. When you travel outside your area code you can then define the Access Code once and all entries are automatically taken care of. When you return home, you simply clear that Access Code.  Use a similar scheme if you sometimes have to dial out from the office via a PBX or some such system and sometimes not.  Some overseas numbers may be too long to fit into a dialing directory entry, you can use Access Codes to extend the effective length of the entries. ═══ 9.2.3. Sorting Directory Files ═══ From within the Directory display, you may move entries from place to place within the list using Control-UpArrow and Control-DownArrow to "drag" entries along with the highlighted bar. This is useful for ordering entries by arbitrary groupings such as migrating more commonly dialed entries to the beginning of the list or grouping Bulletin Board entries by geographical region. For a more general solution, various utilities are available for manipulating TE/2 directory files. The structure of the TE/2 directory file is documented and available to the general public. If you would like copies of the available utilities, documentation, and sample source code, you may download these from the Oberon BBS. You will find the BBS number and details listed at the beginning and again at the end of this document. Alternately, you may send a blank diskette to Oberon Software with a note stating your request, and return postage and we will mail the material to you. ═══ 9.3. The Dialer ═══ TE/2's Phone Dialer is invoked when you press ENTER while in the Dialing Directory, when ever you invoke the Queue Dial function either from the Dialing Directory or from Terminal Mode (assuming that at least one directory entry is "marked" - see above), and when you invoke the Redial or Manual Dial functions. While it is dialing, a dialog box appears on the screen that will keep you informed of what the dialer is currently doing. ┌────────────────────────────────────────────┐ │ Dialing Number │▒ │ │▒ │ Name: │▒ │ Number: │▒ │ Parameters: │▒ │ Status: │▒ │ Tries: │▒ │ │▒ │ [ESC] exit [DEL] remove [SPACE] recycle │▒ └────────────────────────────────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Figure FF. -- Dialer Dialog Box The following information is displayed by the dialer's dialog: Name The directory entry name of the number being dialed. If this was a manual dial, this will be blank. Number The phone number being dialed as entered in the Dialing Directory or at the Manual Dial prompt. Parameters The baud, parity, word length, and number of stop bits which are associated with this number. If a connection is successful, TE/2's parameters will be set to these values. Status This will contain various messages generated either by the dialer itself or by the modem during the dialing process. For example, it begins by the message "DIALING", if you press the ESCape key, it will display "ABORT" before exiting. If you press the ESCape key it will display "Recycle" momentarily and the "Pausing" while it is in the delay cycle between dial attempts. If your modem returns a "BUSY" response, that message will appear. Tries This is the number of times that this number has been tried unsuccessfully during the current dial attempt. The following keystrokes are recognized by the dialer. All other keystrokes are discarded. [ESC] exit Ends the dial attempt and returns control to the Dialing Directory screen or the Terminal Mode screen depending upon where you were when you invoked the dialer. This does not "unmark" any entries that have been marked for queue dialing but it does clear the "Tries" indicator for each entry in the queue. [DEL] remove When Queue Dialing, this will abort the dial attempt for the current number only and remove it from the dialing queue ("unmark" it). If this was the last number in the queue (or the only number in the case of a single number dial), the dialer will be aborted and control will be returned to the Dialing Directory or the Terminal Mode depended upon where you were when you invoked the dialer. [SPACE] recycle This causes aborts attempt to connect with the current number only and moves on to the next attempt. This may be the next number in the dialing queue or simply on to a retry of the current number if there is only one number in the queue or this was a single number dial attempt. ═══ 9.4. Chat Mode ═══ TE/2 supplies a built in, split screen chat mode for use with the CB Simulators provided by some on-line services, multiuser real-time conferences provided by some services and bulletin boards, and chatting with bulletin board sysops if they offer a chat mode on their BBS. When TE/2's Chat Mode is activated, the contents of the current screen are saved (and will be restored when you exit chat mode) and you are presented with the Chat Mode display. This display divides the screen into two "windows". In the top window, label "Remote", all characters coming from the remote source are displayed. In the lower window, labeled "Local", the characters you type are displayed. Chat Mode has, itself, two modes of operation: buffered and unbuffered. In unbuffered mode all character which you type into the "Local" window are immediately transmitted to the remote connection. In buffered mode, they are saved (in a "buffer") until you press the ENTER key at which time they are sent in a "packet". Many of the terminal mode functions are also available when you are in Chat Mode plus several that are unique to Chat Mode. If you press Alt-Z while in Chat Mode you will be given a menu of available keystrokes and functions. In addition, all of your defined Function Key macros are available in Chat Mode. ┌──────────────────────────────────────────────────┐ │ ALT-B Send Break Signal ALT-U Upload │▒ │ ALT-C Clear Screen ALT-V LF after CR │▒ │ ALT-F Output Buffering ALT-W Scroll Back │▒ │ ALT-I Information ALT-X Exit Chat Mode │▒ │ ALT-J User Programs ALT-Y Recall Line │▒ │ ALT-L Logfile Open/Close ALT-Z This menu │▒ │ ALT-N Download CTRL-K Restart Line │▒ │ ALT-O OS/2 Shell ESCape Exit Chat Mode │▒ │ ALT-P Parameters PgUp Upload │▒ │ ALT-T Logfile Toggle PgDn Download │▒ └──────────────────────────────────────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Figure GG. -- Chat Mode Menu The following Chat Mode functions behave exactly like they do in terminal mode; refer to the appropriate discussion above for details.  Send Break Signal  Clear Screen  Information  User Programs  Logfile Open/Close  Download  OS/2 Shell  Parameters  Logfile Toggle  Upload  LF after CR  Scroll Back The following functions are unique to Chat Mode. Output Buffering Toggle between buffered and unbuffered mode. Recall Line Retrieve the last transmitted line for re-edit and re-transmission. Restart Line For use in buffered mode, this function will discard all characters currently pending allowing you to restart the line. Exit Chat Mode This is, of course, rather self explanatory. The terminal screen is restored upon leaving Chat Mode. ═══ 9.5. The Scroll Back Buffer ═══ When you invoke TE/2 Scroll Back Buffer, you may view everything that has appeared on TE/2's Terminal Mode screen in the recent past. By default, the last 250 lines of text that have appeared on the terminal screen are retained for the Scroll Back Buffer. You are allowed to set this number to a higher or lower value (or disable the Scroll Back Buffer feature entirely) through a setting in the TE2.INI file (see the section on Customization) for details. When the Scroll Back Buffer display first appears, the contents of your screen will look very much like the current terminal screen. This is because you enter Scroll Back Mode at the bottom (the most recent part) of the buffer. You may move backwards and forwards within the buffer using the cursor movement keys. In addition to the cursor keys, there are a number of other functions available for locating text within the buffer and for writing all or part of the buffer to a disk file. A run down of all the keys available in Scroll Back mode are listed here. Cursor Keys Up, Down, PgUp, PgDn, Home, End all behave as you would expect. That is, the arrow keys move you backward and forward a line at a time, PgUp and PgDn move a screen at time, and Home and End move you to the beginning or the end of the buffer respectively. Exit Scroll Back [ESC] Pressing the ESCape key will cancel Scroll Back Mode and return control to the Terminal Screen or the Chat Mode display depending upon where you were when you invoked the Scroll Back Buffer. Note: You may also use Alt-X to cancel Scroll Back Mode. Text Searches [F] Use the "F" key begin a text search through the buffer. You will be asked to provide the text to search for. The search is case-insensitive, this is to say that "Fred And Barney" will match "fred and barney" as well as "fred AND barney". The search begins at the line of the buffer which is currently displayed at the top of the screen. Note: You may also use the backslash key to begin a search. [N] Like the "F" key above but rather than querying for the text to search for it will simply continue searching for the last specified string. Note: You may also use "A" to continue a search. The Marked Area The keystrokes mentioned below are used to define a "marked area" within the Scroll Back Buffer. This area will be displayed in an alternate color from the rest of the Scroll Back Buffer. The mark defines exactly which lines will be written to disk when the "W" key is pressed. [T] "Marks" the top line of the display. If there currently is no marked area, the top line of the screen becomes both the top and bottom line of the marked area. Otherwise, the marked area is expanded or contracted appropriately. Note: You may also use "M" to mark the top line of the display. [B] "Marks" the bottom line of the display. If there currently is no marked area, the bottom line of the screen becomes both the top and bottom line of the marked area. Otherwise, the marked area is expanded or contracted appropriately. [Q] If an area of the scroll back buffer has been marked (see [T] and [B] above), this will allow you to upload that marked area as an ASCII upload. You will be given a menu that asks whether you want the upload formatted as a quote or not. If you select Unformatted, the marked text will be sent "as-is". If you select Formatted, however, you will be further queried for the "Initials" to use, you may specify any string, up to ten characters long here. This feature is typically used when replying to messages or E-Mail on BBSes or on-line services and you wish to quote another letter writer; the "Initials" are meant to be an indication of whom you are quoting. When formatted text is uploaded, each line will be preceded with a two character left margin and "XX> " (where "XX" represents the initials you specified), and the text will be reformatted with intelligent word wrapping to fit into 72 columns. For either type of upload, you will be shown a variation on the Ascii Upload dialog window (see Figure CC. in the section on Uploads) and you may change any of the Ascii Upload parameters at this point or simply press ENTER to begin. Note: There are several alternate keystrokes which invoke this function: Alt-Q, U, and Alt-U. [W] This will prompt for a file name and write the marked area of the Scroll Back Buffer to the file you specify. If the file already exists you will be asked whether the new information should overwrite the current contents of the file, be appended to the current contents of the file, or whether you would rather specify another file name or cancel the operation. If there is no currently marked area you will be asked whether you want to write the entire buffer to the file. Note: You may also use Alt-W to write the buffer or marked area to a disk file. ═══ 9.6. Protocol Status Display ═══ During an XModem, XModem1K, YModem, YModem-G, or ZModem file transfer, TE/2 maintains a dialog box on screen which keeps you informed of the current status of the file transfer. The dialog title (shown here as "ZModem Download") will indicate the actual protocol and function in use. ┌──────────────────────────────────────────────┐ │ ZModem Download │▒ │ │▒ │ File Name: │▒ │ File Size: │▒ │ Bytes Transferred: │▒ │ Packet/Block: │▒ │ Estimated Time: │▒ │ Time Elapsed: │▒ │ Percent Complete: │▒ │ Characters/Second: │▒ │ Last Message: │▒ │ │▒ └──────────────────────────────────────────────┘▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Figure HH. File Transfer Status Dialog File Name This will display the name of the file currently in transit. If the name of the file is longer than the space allowed, it is abbreviated by removing characters from the beginning of the file name allowing the most significant part of the name to be displayed. If the file name has been abbreviated, you will notice three dots ("...") as the first three characters displayed in the file name. On an upload, the entire path/name of the file as you had previously specified will be shown, including the drive and/or path if they were given. The path information is for display only, if the protocol is one wherein the file name is sent to the receiver, be assured that the drive and path information is removed before the file name is sent to the remote system. File Size If the total file size is available, it will be displayed here. This will be available on any upload and on YModem, YModem-G, and ZModem downloads. Bytes Transferred This will record the total number of bytes transferred for this file thus far. Packet/Block All of the file transfer protocols send the information from the sender to the receiver in packets or blocks. The packets vary in size from one protocol to the other; however this line will keep a count of each packet as it is sent. Estimated Time Initially, this is a rough estimate of the time (in minutes and seconds) which it will take to transmit or receive the file. If the total file size if not known (as in an XModem or XModem-1K download) this will be impossible to estimate. The method used for computing the initial value is: (((total file size) * 8) / (current baud)) * 0.75 After the transfer has progressed for at least ten seconds, TE/2 will begin to recalculate this value based on the actual rate of transfer and will redisplay the new value each time a packet is sent or received. Time Elapsed This records the total time in minutes and seconds that have passed during the transfer thus far. Percent Complete This is simply the Bytes Transferred divided by File Size made into a percentage. If the File Size is unknown (as in an XModem or XModem-1K download) this value will be unknown. Characters/Second This is simply the Bytes Transferred divided by Time Elapsed. Last Message This is an indicator of the latest "interesting event" that has transpired during the transfer. It may contain such messages as "TRANSMIT BLOCK" or "RECEIVE FILE" or "BAD CRC OR CHECKSUM". Note on CompuServe B Plus Protocol Do not be alarmed if you see what appears to be erratic behavior of the numbers which appear in some of the numeric fields of the Protocol Status Display during a CompuServe B Plus file transfer. CompuServe and the local protocol driver re-negotiate during the course of the transfer, the estimated times are recalculated at odd intervals, and the Bytes Transferred field will alternately display the number of bytes received and the number of bytes transmitted. Due to the difference in character between the status reporting for this protocol with respect to the X-Y-ZModem family of protocols, future versions of TE/2 will provide a dedicated status display for the CompuServe protocol. ═══ 10. Customization ═══ In the preceding sections we have used the phrase "by default" or "default behavior" quite a few times. Just about as often we have mention that such and such feature can be modified and referred you here. An attempt has been made to make TE/2 as user configurable as possible. Let us examine the different methods we have available to us for modifying TE/2's "default" behavior. The following topics are coverd in this section:  TE2.INI - TE2.INI File Format - Initialization Variable Types - Initialization Variables by Major Function - Initialization Variables - Alphabetical List  TE2Color Program  TE2.XEX  TE2.FNK  TE2INP.XLT and TE2OUT.XLT ═══ 10.1. TE2.INI ═══ TE2.INI is the default name of the TE/2 initialization file. You can use it to customize a great number of different features of TE/2. Topics covered in this section are:  TE2.INI File Format  Initialization Variable Types  Initialization Variables by Major Function  Initialization Variables - Alphabetical List ═══ 10.1.1. TE2.INI File Format ═══ When TE/2 begins it looks around for a file with the name "TE2.INI". It looks first in the current directory, if it is not found there it looks in the directory that contains the currently executing copy of TE/2. If it's not there then it looks in each directory referred to in the OS/2 environment setting for "PATH" the same as OS/2 searches for a file to execute when you type its name at the command line prompt. If it finishes this process and still hasn't located TE2.INI, TE/2 will have no choice but to print an error message and exit. You may override the default name of TE2.INI and/or the path search for the file by using the TE/2 command line parameter "-f". See the section "TE/2 Command Line" for further details. The TE2.INI is a flat text file that can be edited with the OS/2 system editor or with your favorite text editor. If you use a word processor to edit this file you must be sure to save the file in straight ASCII format, not in the word processor's document format. Consult the documentation for your word processor if you are unsure of how to do this. Most every line in TE2.INI will have a variable name and a value for the variable. Certain lines or parts of lines may be used for commenting the file to make it more readable. Any text on any line which begins with a semicolon (";") is considered a comment when TE/2 reads the file and will not be interpreted as a command. You may have blank lines in the file, they are ignored. You must have at least one space or tab between the variable and its value but you may also have as many as you like. In the same vein, spaces or tabs on a line before the variable name or after the value are likewise ignored. For a simple example, refer to Figure II. In this example, the first two lines are comments, the third, blank line is ignored. In the fourth line the variable "baud" is set to the value "2400" and a clarifying comment ends the line. --------------------------------------------------------- ; This is a very simple TE/2 ; initialization file baud 2400 ; This sets default baud to 2400 parity None ; and parity to "N" --------------------------------------------------------- Figure II. -- TE2.INI Example There is one "metacommand" which is neither a variable name nor a comment which may be used in TE2.INI. That is the keyword: INCLUDE. The syntax on an "INCLUDE" statement is: INCLUDE filename where "filename" is searched for via the same methods as outlined above for TE2.INI itself. There is ONE RESTRICTION on include-file filenames: The filename must NOT include any embedded spaces. Otherwise, all valid OS/2 file names are allowed. If the file is found, it will be opened and read as though it were contained at that point in the calling INI file. The included file may contain valid TE2.INI settings, comments, or even other "INCLUDE" statements. When the TE/2 has finished reading the included file, it will return to the original file and resume processing on the next line after the "INCLUDE" statement. Note that the entries in TE2.INI are not case sensitive. That is the example could have used "Baud" or "BAUD" instead of "baud" and the results would be the same. ═══ 10.1.2. Initialization Variable Types ═══ There are a very large number of variables which may be set in the TE2.INI file. They control nearly every aspect of how TE/2 will operate. Many of these you will never need to adjust, a few you will probably set once and forget. Though there are a lot of variables to deal with, they fall into several broad groups that have some things in common. These groups are: True/False variables These may have one of two values: "True" or "False". If you prefer, "Yes" and "No" can be used instead of "True" and "False". You can mix and match the two styles. Numeric variables These variables expect a number for a value. Sometimes there is a minimum and/or maximum value for the variable or the value may only be taken from a well defined list of possible values. This will be indicated for each individual variable in the section below. The numbers must be integer values in standard decimal (base 10) notation. Path Name variables Sometimes a file name, sometimes just a path is required for these. Paths may be fully specified or relative, the drive indicator may be omitted if it is not needed. You may freely use the forward slash ("/") as a subdirectory separator instead of the backslash ("\") if you prefer. Some of the path variables will be checked for existence when TE2.INI is read and a warning will be printed on the screen if the path does not exist. Modem String variables Modem string variables are for specifying the commands that will be sent to your modem, i.e., "ATDT" for the dialing command. There are several problems that arise when specifying these strings however: 1. They may need to contain a space character which is usually a token delimiter. 2. They may need to contain a semicolon character which usually introduces a comment. 3. They may need to contain control characters, such as a carriage return character which is impossible to enter into the file without ending the line. Here are the ways to deal with these problems: 1. If you need to enter a space character, use an underscore character ("_") instead. If you really need an underscore, use two of them. 2. If you need to enter a semicolon, use an exclamation point ("!") instead. If you really need an exclamation point, use two of them. 3. If you need to enter a control character, use standard "^n" notation. For instance, if you need a carriage return character you would use "^M" (because the carriage return is ASCII code 13 and "M" is the 13th letter in the English alphabet). A few of the most important conversions are given here: ^@ -- character 0, a NUL character ^G -- character 7, a bell or beep ^H -- character 8, a backspace ^I -- character 9, a tab character ^J -- character 10, a line feed character ^M -- character 13, a carriage return character ^[ -- character 27, an escape character If you need to enter a "^" character, use two of them. There is one other important character that may be placed into a modem string. This is the delay character, usually the tilde ("~") but even this may be changed within TE2.INI (see variable "ModemDelayChar"). This character will result in a short delay (usually 0.5 seconds but also settable via the variable "ModemDelayChar") when the string is sent to the modem. Color Attribute variables NOTE:The easiest way to adjust the colors in TE/2 is via the supplied TE2COLOR.EXE program, either executed from inside of TE/2 via Alt-Y or standalone. See the section titled TE2Color.EXE for further information on this. If you prefer to adjust these variable by hand or are just interested in what is going on "behind the scenes", read on. Otherwise it is safe to skip this section. These variables determine the colors that TE/2 will use to display its various screens. Each is a number from zero to 255 and may be expressed in either decimal or hexadecimal notation. There are eight different colors to choose from; however, foreground colors may be selected to be in either normal or high intensity. If you run a full screen session, you can make foreground characters blink, if you run in a VIO window you can choose the background to be either normal or high intensity. These are the eight available colors and their associated numbers: Black 0 Blue 1 Green 2 Cyan 3 Red 4 Magenta 5 Brown 6 White 7 To specify a high intensity color, add eight to the value. Thus, high-intensity blue is number 9. Note that high-intensity brown becomes yellow. To formulate a color attribute, you just combine the color numbers for both the foreground and background into one number. Do this by taking the background number, multiply it by sixteen and add to it the foreground color. Example: We want light blue on black. Light blue is color 9, black is color 0 (black is always the easiest background to use). (16 * 0) + 9 = 9 (or, in hex notation (0x09). Example: We want light cyan on a blue background. Light cyan is color number 11, blue is 1. (16 * 1) + 11 = 27 (or 0x1b in hex notation). If you add 128 to the resulting value, you will get either blinking foreground (in a full screen session) or high intensity background (in a VIO window). Or you may use the following chart. To use the chart, find the color you want for the foreground along the top and find the color you want for the background along the side. The number on the chart where that line and column intersect is the number for normal foreground and normal background. If you want high intensity foreground, add eight. If you want blinking foreground (full screen) or high intensity background (VIO window) add 128. Black Blue Green Cyan Red Magnt Brown White +------------------------------------------------------- Black | 0 1 2 3 4 5 6 7 Blue | 16 17 18 19 20 21 22 23 Green | 32 33 34 35 36 37 38 39 Cyan | 48 49 50 51 52 53 54 55 Red | 64 65 66 67 68 69 70 71 Magenta | 80 81 82 83 84 85 86 87 Brown | 96 97 98 99 100 101 102 103 White | 112 113 114 115 116 117 118 119 Enumerated Value variables Some variables have only a relatively small range of values to choose from. One example of this is "WordLen" which may only take the values 7 or 8. Another is "CtsRts" which may only take the values "cts", "rts", "both", or "neither". Variables of this type will be dealt with individually. Other variables And then there are the several that don't quite fit into any of these pigeon holes. An example of this would be "AsciiUL" which takes a list of parameters delimited by commas. The thing to remember here is that the space character is still a token delimiter so there must be no embedded spaces in these parameter strings. For example: "ULPrtyClass" takes two parameters, ULPrtyClass fixedhigh,0 is a valid entry for this variable, ULPrtyClass fixedhigh, 0 is not. The topics Initialization Variables by Major Function and Initialization Variables - Alphabetical List present all of TE/2's initialization variables. For both these lists, you should note that the default value listed here is the default if the variable DOES NOT APPEAR in the TE2.INI file at all. TE/2 is distributed with an example TE2.INI which changes the values of some of these variables. ═══ 10.1.3. Initialization Variables by Major Function ═══ Comm Port Settings Variable Default Baud 2400 Type: numeric, must be a valid baud rate Notes: this will become the default baud rate when TE/2 first enters terminal mode. BreakLen 1000ms Type: numeric, greater than zero Notes: Break signal duration in milliseconds CtsRts BOTH Type: enumeration, CTS, RTS, BOTH, or NEITHER Device com1 Type: simple string, rules for modem strings apply Notes: The "Device" parameter may override any "Port" parameter given in the file. You do not have to specify "com1", "com2", et cetera if your comm device has another name however the Alt-I information display will not match the reality when you use the "Device" parameter unless it is named "com1", "com2", etc., and the "Port" parameter is set to match. ExtendedFIFO not specified Type: enumerated, not specified, TRUE, FALSE, or AUTO Notes: For use only if you have a 16550 UART installed on your serial port. If the keyword does not appear in TE2.INI (not specified) then the ambient state of the 16550 is preserved. If set to anything at all, the device is checked first for Extended Hardware Buffering support. If supported, then if ExtendedFIFO is set to FALSE, buffering is disabled; if set to TRUE, buffering is enabled with a Receive Trigger level of 8 and a Transmit Load Buffer Count of 16; if set to AUTO, then AutoBuffering is enabled. Parity N Type: enumerated, must be N, O, E, M, or S Notes: this will become the default parity when TE/2 first enters terminal mode. Port 1 Type: numeric, must be 1, 2, ..., 8 Notes: If your comm device is named "comX" where X is a number from 1 to 8, you do not need to use the "Device" parameter (above) and may simply specify the port number. StopBits 1 Type: enumerated, must be 1, 1.5, or 2 Notes: this will become the default number of stop bits when TE/2 enters terminal mode. WordLen 8 Type: numeric, must be 7 or 8 Notes: this will become the default word length when TE/2 first enters terminal mode. XonXoff NEITHER Type: enumerated, NEITHER, TRANSMIT, RECEIVE, or BOTH Terminal Settings Variable Default AlarmPopUp false Type: true/false Notes: enables/disable alarm pop-up screens. Further, note that the alarm pop-up will only ever be displayed if TE/2 is not the foreground task at the time of the alarm. AlarmTime 2 secs Type: numeric, must be greater than or equal to zero Notes: Alarm duration in seconds, zero disables the alarm AlarmType CHIME Type: enumerated: NONE, CHIME, or BUZZER Notes: Determines how the alarm will sound ChatBuffered true Type: true/false Notes: entry value for chat mode buffering ColorLock false Type: true/false Notes: if true the terminal color cannot be changed via ANSI codes from the remote ClsReset false Type: true/false Notes: if set to true, the current color attribute for the terminal screen will be set to the default (see TermAttr) when a clear-screen command is issued (either via Alt-C or by a terminal code). Otherwise the screen is clears to the current attribute. CursorBottom unspecified Type: numeric Notes: Specify the scan line setting for the bottom of the cursor. See also CursorTop; if CursorBottom is set then CursortTop must also be set or the results are unpredictable. If both CursorTop and CursorBottom are left unspecified, the size of the cursor will not be modified. CursorTop unspecified Type: numeric Notes: Specify the scan line setting for the top of the cursor. See also CursorBottom; if CursorTop is set then CursortBottom must also be set or the results are unpredictable. If both CursorTop and CursorBottom are left unspecified, the size of the cursor will not be modified. DirActive true Type: true/false Notes: initial display/nondisplay of Dialing Directory LFafterCR false Type: true/false Notes: entry value for LF After CR LocalEcho false Type: true/false Notes: entry value for Local Echo LogoDelay 8 secs Type: numeric, greater than or equal to zero Notes: Length of time the TE/2 logo will remain on screen after primary initialization has completed. If this is set to zero, the logo will not be displayed. Note that in this version of TE/2 the logo display is followed by a shareware notice; this notice cannot be disabled. MatchBaud true Type: true/false Notes: if false the dialer will not attempt to match the baud rate after making a connection. Use this if you need to "Lock" the baud rate for a high-speed connection. MenuActive true Type: true/false Notes: initial display/nondisplay of Terminal Modem menu NoOvIO false Type: true/false Notes: set this setting ONLY if you are running TE/2 on a shared modem across a LAN and then ONLY if you are experiencing TRAP 0008 problems. If the problem persists, please contact Oberon Software. OutputBuffer 0 Type: numeric Notes: Set this to a value greater than zero to specify the size of a buffer which TE/2 will use for output characters (i.e., characters typed at the terminal or emitted via a function key macro or script language transmit() statement). A background thread will be started which will periodically flush this buffer to the com device. This setting should only be considered in a networked situation when using a shared modem and then only if network packet size considerations are relevant. QueryHangUp false Type: enumerated: TRUE, FALSE, IFCARRIER Notes: If TRUE, TE/2 will ask for verification each time before hanging up or exiting. If FALSE, TE/2 will never ask for verification. If IFCARRIER, TE/2 will ask only if it is currently on-line. SaveScreen true Type: true/false Notes: If FALSE the contents of the screen before TE/2 run will NOT be saved and restored afterwards. ScreenLines current number of screen lines Type: numeric, must be greater than zero Notes: This sets the desired number of lines for the screen. ScrollBack 250 Type: number, greater than or equal to zero Notes: Number of lines to retain in Scroll Back Buffer, if this is set to zero the Scroll Back Buffer is disabled. SwapBS4Del false Type: true/false Notes: If TRUE the TE/2 will internally redefine the Backspace key such that it transmits an ASCII 127 (usually known as a DEL or RUBOUT character) instead of the usual ASCII 8 (the real BACKSPACE character). The mapping effects only the actual backspace key, i.e., the Del and Delete keys retains their values and CONTROL+H continues to transmit an actual BACKSPACE. This conversion is applied BEFORE character translation via the TE2OUT.XLT file is applied. Emulation Settings Variable Default Emulate ANSI_TE2 Type: enumerated: TTY, ANSI, ANSI_TE2, VT100, or 3101 Notes: defines the default terminal emulation at program startup EnqReply NULL Type: modem string Notes: in VT100 mode, this string will be sent to the remote system in response to an ENQ character AutoNL3101 FALSE Type: true/false Notes: simulates the setting of Switch 31, the AUTO NL switch on the IBM 3101. If true, the cursor will move to the first position on the next line after displaying a character in column 80 AutoLF3101 FALSE Type: true/false Notes: simulates the setting of Switch 32, the AUTO LF switch on the IBM 3101. If true, the cursor will react to a CR as if it were a CR-LF pair. Scroll3101 TRUE Type: true/false Notes: simulates the setting of Switch 34, the SCROLL switch on the IBM 3101. If set to false, scrolling is disabled. EndChar3101 CR Type: enumerated: ETX, CR, EOT, XOFF Notes: simulates the settings of Switches 16 and 17 on the IBM 3101. These settings define what character will be transmitted by the Enter key. SetVTDefAttr false Type: true/false Notes: If TRUE, the value of your TermAttr will be given to the VT100 handler to use as the default attribute instead of the default white on black. VT100Backspace false Type: true/false Notes: If TRUE, backspace characters received by the VT100 emulation will be handled as though they were actually the sequence, Backspace, Space, Backspace, i.e., a destructive backspace. VT100Prn NULL Type: path name Notes: Specifies the name of the output device or file to be used in conjunction with the VT100 emulation's printer functions. Although it is expected that you will use a device name such as "LPT1" here, it may be a file if you wish. Modem Settings Variable Default Connect special Type: modem string(s) Notes: You may have up to 12 connect strings specified. These are the actual strings that TE/2's dialer will look for from the modem when it dials. Each string follows the rules for modem strings given above and is followed by a comma and a baud rate which will be used for purposes of baud matching if you have MatchBaud set on. Example: This is an example of setting several connect strings in TE2.INI: Connect CONNECT^M,300 Connect CONNECT_1200,1200 Connect CONNECT_2400,2400 Connect CONNECT_9600/ARQ,9600 Note that if you specify any Connect strings you should be sure to specify ALL Connect strings you expect to encounter. TE/2 default set covers 300, 1200, 2400, 4800, and 9600 for standard Hayes compatible modems operating with verbal response codes. If you specify any Connect strings in TE2.INI however, TE/2 assumes that you will specify them all. Further Note: The strings are searched in order from first to last and when one matches the search ends. Thus, the "^M" in the first example is very important! If it were not there, any string which begins with "CONNECT" (i.e., every modem connect result string!) would be taken to imply 300 baud. This is probably not what you had in mind. Also, the third line above will match "CONNECT 2400^M" as well as "CONNECT 2400/ARQ^M", but the fourth line will not match "CONNECT 9600^M". DtrHangUp true Type: true/false Notes: determines whether the hangup sequence also drops DTR momentarily ModemAnsStrg ATS0=1^M^J Type: modem string Notes: this string is used to initialize auto-answer mode. Note further: This string is not used in this version of TE/2 but to ensure file compatibility with the full version, it is included here. ModemDelayChar 0x7e,500 Type: special Notes: The two values here are the ASCII value of the character to use for delays in the various modem strings (0x7e is the tilde character "~") and the duration of the delay in milliseconds ModemDialStrg ATDT Type: modem string Notes: this is used as the modem dial command ModemDialSufx ^ M Type: modem string Notes: this is sent to the modem after the number in a dial command ModemHangStrg ~~~+++~~ATH0^M^J Type: modem string Notes: this string is sent to the modem to cause it to hang-up the line (see also dtrHangUp) ModemInitStrg ATE0_M1_Q0_V1_X4_S7=255_S11=55_S0=0^M^J Type: modem string Notes: this string is sent to the modem at startup for initialization ModemOKStrg OK Type: modem string Notes: this is the string that TE/2 will expect the modem to return after receiving a command string successfully. NoConnect special Type: modem string(s) Notes: See also "Connect" above. Here you may specify up to 6 NoConnect strings. These are the strings which TE/2's dialer will look for when dialing to signal that the dialing attempt has failed. These strings follow the rules for modem strings given above. If you specify any NoConnect strings you must specify every one you expect to encounter because you will be replacing TE/2's default set. TE/2's default set is: NoConnect NO_CARRIER NoConnect ERROR NoConnect NO_DIAL_TONE NoConnect BUSY NoConnect NO_ANSWER NoConnect VOICE Dialer and Dialing Directory Variable Default AutoDirSave false Type: true/false Notes: if true the directory file will be saved each time upon exiting the Dialing Directory. DialerSendInit false Type: true/false Notes: If set to TRUE, the dialer will issue the modem initialization string (ModemInitStrg) to the modem at the beginning of each dialing session. DialerTimeOut 45 secs Type: numeric, greater than zero Notes: Amount of time in seconds that the dialer will allow a phone number to ring. RedialDelay 2 sec Type: numeric, greater than zero Notes: Amount of time in seconds that the dialer will pause between dialing attempts. Color Attributes Variable Default ChatAttr 0x0f - Bright white on black Type: attribute Notes: Chat Mode, Local Window text ChatRemoteAttr 0x07 - White on black Type: attribute Notes: Chat Mode, Remote Window text ChatTitleAttr 0x70 - Black on white Type: attribute Notes: Chat Mode, titles This attribute is not used in this version of TE/2 but to ensure file compatibility with the full version it is included here. CmdInputAttr 0x07 - White on black Type: attribute Notes: Command Prompt, text input, while editing This attribute is not used in this version of TE/2 but to ensure file compatibility with the full version it is included here. CmdInputHiAttr 0x70 - Black on white Type: attribute Notes: Command Prompt, text input, initial display of default value This attribute is not used in this version of TE/2 but to ensure file compatibility with the full version it is included here. CmdPromptAttr 0x0f - Bright white on black Type: attribute Notes: Command Prompt, prompt This attribute is not used in this version of TE/2 but to ensure file compatibility with the full version it is included here. DLogDaAttr 0x08 - Gray on black Type: attribute Notes: Dialog boxes, disabled menu items DLogEdAttr 0x70 - Black on white Type: attribute Notes: Dialog boxes, text input, while editing DLogEdHiAttr 0x0f - Bright white on black Type: attribute Notes: Dialog boxes, text input, initial display of default value DLogHiAttr 0x70 - Black on white Type: attribute Notes: Dialog boxes, highlit text DLogNormAttr 0x0f - Bright white on black Type: attribute Notes: Dialog boxes, normal text DialHiAttr 0x0f - Bright white on black Type: attribute Notes: Dialing Directory, highlighted bar DialNormAttr 0x07 - White on black Type: attribute Notes: Dialing Directory, normal text ErrorAttr 0x0f - Bright white on black Type: attribute Notes: Error Message display LogoAttr 0x70 - Black on white Type: attribute Notes: Terminal Screen menu, TE/2 logo MenuHiAttr 0x0f - Bright white on black Type: attribute Notes: Terminal Screen menu, highlit text MenuNormAttr 0x07 - White on black Type: attribute Notes: Terminal Screen menu, normal text ScrlBackAttr 0x07 - White on black Type: attribute Notes: Scroll Back, normal text ScrlBackFdAttr 0x0f - Bright white on black Type: attribute Notes: Scroll Back, found text ScrlBackMkAttr 0x70 - Black on white Type: attribute Notes: Scroll Back, marked text ScrlBackTiAttr 0x70 - Black on white Type: attribute Notes: Scroll Back, titles ShadowAttr 0x08 - Gray on black Type: attribute Notes: Dialog boxes, shadow SnapShotAttr 0x70 - Black on white Type: attribute Notes: SnapShot, flash attribute TermAttr 0x07 - White on black Type: attribute Notes: Terminal Screen attribute Transfer Protocols Variable Default AsciiUL 0,crlf,true,0,0,0,false,false,2000,2000 Type: special Notes: Here you may specify the default answers to the questions posed in the Ascii Upload Dialog (see "Alt-U Upload" above). The last two fields are options, all others must be specified, they must be separated by commas, and there must be NO extra space or tab characters in the line. The fields are: Prompt Char: ASCII value of the prompt character you wish to use. The value may be in decimal, hex, or octal. Use zero to set no prompt. End of Line Seq: "LF", "CR", or "CRLF" Expand Blanks Lines: true or false. Char Pacing: in milliseconds. Line Pacing: in milliseconds. Strip 8th Bit: true or false. View Output: true or false. Write Timeout: in milliseconds. Read Timeout: in milliseconds. AutoZM false Type: true/false Notes: enables/disables Auto ZModem downloads When enabled, TE/2 will automatically begin a ZModem download whenever it receives the ZModem signature from the remote system. ClobberDL SALVAGE Type: enumerated: TRUE, FALSE, or SALVAGE Notes: This controls what TE/2 will do when you attempt to download a file with a file of the same name already in existence in the download directory of your disk. If set to TRUE, the new file will overwrite (clobber) the old file, if set to FALSE it will abort the transfer and issue an error message. If set to SALVAGE, it will attempt to rename the existing file before beginning to write the new file. The method by which is does this varies depending on whether the target disk is formatted with the HPFS file system or not:  On HPFS, ";nn" (where "nn" is a number in the range of 1 through 999) is appended to the original file name beginning with 1 and incrementing until a unique file name has been discovered.  On non-HPFS, the last two characters of the file extension are replaced with "nn" (where "nn" is a number in the range 01 through 99) beginning with 01 and incrementing until a unique file name has been discovered. If the original file name does not have an extension, it is treated as though it had the extension ".___". If the extension is shorter than three characters, it is padded with "_" characters. DownloadPath NULL Type: path name Notes: specifies the directory you wish all downloaded files to be placed in. If left NULL, the current directory is used. For XModem and XModem-1K you may override this setting by specifying a drive or a path when prompted for the file name. DLPrtyClass FIXEDHIGH,0 Type: special Notes: specifies the priority you wish OS/2 to give the download file transfer protocols while they are doing their duties. TE/2 normally operates at the default priority level but if the DLPrtyClass is set to anything other than "NORMAL" it will adjust the priority level accordingly for the duration of the file transfer and restore normal priority upon return. Valid values for the first parameter of DLPrtyClass are: "NORMAL", "FIXEDHIGH", or "TIMECRITICAL". The second parameter is called a priority delta, it may be in the range of -31 to 31 and it may be omitted with no ill effects. Further Notes: If you set the priority class to NORMAL you may very well experience timeout errors during your file transmissions especially if your computer is busy with other tasks while the file is transferring. One the other hand, if you leave it at the default value of FIXEDHIGH and are still experiencing these problems you might want to set TIMECRITICAL although the response and throughput of all other processes running on your computer during the transfer will become noticeably slower. NoHPFSSalvage false Type: true/false Notes: If set to TRUE, TE/2 will not use the HPFS-style files renaming scheme when a filename collision occurs on a download regardless of whether the target disk is HPFS or FAT. NoExtSalvage false Type: true/false Notes: If set to TRUE, TE/2 will use only one digit from 1 to 9 as the final character when attempting to resolve a filename collision on a FAT drive (or on an HPFS drive when NoHPFSSalvage is in effect). SalvageBrkCh 59 Type: numeric, 1-255 Notes: Set this to the ASCII value of the character you wish to use as a separator character when resolving file name collisions on an HPFS drive. By default this is a semi-colon and renamed files have the form: filename;nn (where nn is a number from 1 to 999). Suggested settings for this would be 46 (a period), 32 (a space), 45 (a hyphen), or 95 (an underscore). Do NOT use any character which is not valid in an HPFS file name such as +, /, \, :, * or ? QueryZMRecover false Type: special Notes: Set this to "true", "false", or "auto". The first two turn the Zmodem Recover feature on and off, the third turns the feature on and will bypass the user prompt when a Zmodem Recover is possible. When used in conjunction with the ClobberDL setting, a wide variety of behaviors can be dfined when ZModem detects a name collision on an incoming file: clobber/query Result false/false Always error out (abort file xfer) true/false Always overwrite local file salvage/false Always rename local file before xfer false/true If resume possible, ask user otherwise abort xfer true/true If resume possible, ask user otherwise overwrite local file salvage/true If resume possible, ask user otherwise rename local file before xfer false/auto Resume if possible otherwise abort xfer true/auto Resume if possible otherwise overwrite local file salvage/auto Resume if possible otherwise rename local file before xfer ULPrtyClass FIXEDHIGH,0 Type: special Notes: See DLPrtyClass above for a full discussion of how to set this variable. ULPrtyClass affects upload file transfers in exactly the same manner as DLPrtyClass affects downloads. UploadPath NULL Type: path name Notes: This is where TE/2 will look for a file that does not have a drive or path specified explicitly in its name. If left to NULL this will be the current directory. ZMProcommFlag FALSE Type: special Notes: If set to TRUE then ZModem will add certain header information when uploading files to mimic the behavior of older versions of Procomm which seem to require this information. Use this only if you are running TE/2 in host mode and you have callers using Procomm which are having trouble downloading files. Misc File and Path Specs Variable Default CallLog NULL Type: path name Notes: If this file name is specified, TE/2 will write information about each outgoing phone call it makes. The information is the Name from the directory entry (or the number for a manual dial), the time the call began, the time it ended, and the total call duration. This is handy for whatever record keeping you need to do whether it's for tax purposes or just to keep the phone company honest. DirFile te2.dir Type: path name Notes: Specifies the name and location for the default dialing directory file. FnkFile te2.fnk Type: path name Notes: Specifies the name and location for the default function key definition file. XexFile te2.xex Type: path name Notes: Specifies the name and location for the default external programs file. SnapShot te2snap.sht Type: path name Notes: This specifies the name of the snapshot file (see Alt-S SnapShot). LogPath NULL Type: path name Notes: This is where TE/2 will place all log files (see Alt-L LogFile) unless you specify a name with an explicit drive or path when prompted for a log file name. ScriptPath NULL Type: path name Notes: This is the directory where all script files are expected to be located. This variable is not used in this version of TE/2 but to ensure file compatibility with the full version it is included here. ShellCmd cmd.exe NULL Type: special Notes: This specifies the name of the program which is to be executed when you use the Alt-O key (see Alt-O Shell to OS/2). The program name should be a complete path/spec and contain the file extension (".exe", etc.). If parameters are needed they may be specified after one or more white space characters (space or tab). The parameter string follows the rules for modem strings given above. That is, space characters must be replaced with underscores, et cetera. Note that to execute a batch file (".cmd") you must use the syntax: "ShellCmd cmd.exe /c_cmdfilename" ═══ 10.1.4. Initialization Variables - Alphabetical List ═══ ──────────────────────────────────────────────────────────────────────────── Variable Type Section AlarmPopUp True/False Terminal Settings AlarmTime Numeric Terminal Settings AlarmType Enumeration Terminal Settings ANSIBackspace True/False Terminal Settings AsciiUL Special Transfer Protocols AutoDirSave True/False Dialer and Dialing Directory AutoLF3101 True/False Emulation Settings AutoNL3101 True/False Emulation Settings AutoZM True/False Transfer Protocols Baud Enumeration Comm Port Settings BreakLen Numeric Comm Port Settings CallLog Path String Misc File and Path Specs ChatAttr Color Attribute Color Attributes ChatBuffered True/False Terminal Settings ChatRemoteAttr Color Attribute Color Attributes ChatTitleAttr Color Attribute Color Attributes Chime15 True/False MultiMedia Settings Chime15WAV Path String MultiMedia Settings Chime5 True/False MultiMedia Settings Chime5WAV Path String MultiMedia Settings Chime60 True/False MultiMedia Settings Chime60WAV Path String MultiMedia Settings ChimeWAV Path String MultiMedia Settings ClobberDL Enumeration Transfer Protocols ClsReset True/False Terminal Settings CmdInputAttr Color Attribute Color Attributes CmdInputHiAttr Color Attribute Color Attributes CmdPromptAttr Color Attribute Color Attributes ColorLock True/False Terminal Settings CommShared True/False Comm Port Settings Connect Modem String/Special Modem Settings CtsRts Enumeration Comm Port Settings CursorBottom Numeric Terminal Settings CursorTop Numeric Terminal Settings Device String Comm Port Settings DialCheckDCD True/False Dialer and Dialing Directory DialerTimeOut Numeric Dialer and Dialing Directory DialerSendInit True/False Modem Settings DialHiAttr Color Attribute Color Attributes DialingWAV Path String MultiMedia Settings DialNormAttr Color Attribute Color Attributes DirFile Path String Misc File and Path Specs DirActive True/False Terminal Settings DLPrtyClass Special Transfer Protocols DLogDaAttr Color Attribute Color Attributes DLogEdAttr Color Attribute Color Attributes DLogEdHiAttr Color Attribute Color Attributes DLogHiAttr Color Attribute Color Attributes DLogNormAttr Color Attribute Color Attributes DownloadPath Path String Transfer Protocols DtrHangUp True/False Modem Settings Emulate Enumeration Emulation Settings EndChar3101 Enumeration Emulation Settings EnqReply Modem String Modem Settings EndingWAV Path String MultiMedia Settings ErrorAttr Color Attribute Color Attributes ErrorPopup True/False Terminal Settings ExtendedFIFO Enumeration Comm Port Settings FnkFile Path String Misc File and Path Specs InitWindowPos Special Terminal Settings KeyMapFile Path String Misc File and Path Specs LFafterCR True/False Terminal Settings LocalEcho True/False Terminal Settings LogPath Path String Misc File and Path Specs LogoAttr Color Attribute Color Attributes LogoDelay Numeric Terminal Settings MatchBaud True/False Terminal Settings MaxRedials Numeric Dialer and Dialing Directory MenuActive Special Terminal Settings MenuHiAttr Color Attribute Color Attributes MenuNormAttr Color Attribute Color Attributes ModemAnsStrg Modem String Modem Settings ModemDelayChar Special Modem Settings ModemDialStrg Modem String Modem Settings ModemDialSufx Modem String Modem Settings ModemHangStrg Modem String Modem Settings ModemInitStrg Modem String Modem Settings ModemOKStrg Modem String Modem Settings NoConnect Modem String/Special Modem Settings NoExtSalvage True/False Transfer Protocols NoHPFSSalvage True/False Transfer Protocols NoOvIO True/False Terminal Settings OutputBuffer Numeric Transfer Protocols Parity Enumeration Comm Port Settings Port Enumeration Comm Port Settings QueryHangUp Enumeration Terminal Settings QueryZMRecover Special Transfer Protocols RedialDelay Numeric Dialer and Dialing Directory SalvageBrkCh Numeric Transfer Protocols SaveScreen True/False Terminal Settings ScreenLines Numeric Terminal Settings ScriptPath Path String Misc File and Path Specs ScrlBackAttr Color Attribute Color Attributes ScrlBackFdAttr Color Attribute Color Attributes ScrlBackMkAttr Color Attribute Color Attributes ScrlBackTiAttr Color Attribute Color Attributes Scroll3101 True/False Emulation Settings ScrollBack Numeric Terminal Settings SetVTDefAttr True/False Terminal Settings ShadowAttr Color Attribute Color Attributes ShellCmd Path String/Special Misc File and Path Specs SnapShot Path String Misc File and Path Specs SnapShotAttr Color Attribute Color Attributes StartupWAV Path String MultiMedia Settings StatbarAttr Color Attribute Color Attributes StopBits Enumeration Comm Port Settings SwapBS4Del True/False Terminal Settings TE2Menu Path String Misc File and Path Specs TE2Pipe Path String Misc File and Path Specs Telnet True/False Terminal Settings TermAttr Color Attribute Color Attributes ULPrtyClass Special Transfer Protocols UploadPath Path String Transfer Protocols VT100Backspace True/False Emulation Settings VT100Prn Path String Emulation Settings WordLen Enumeration Comm Port Settings XexFile Path String Misc File and Path Specs XexDnloadFile Path String Misc File and Path Specs XexUploadFile Path String Misc File and Path Specs XferFailWAV Path String MultiMedia Settings XferStartWAV Path String MultiMedia Settings XferSuccessWAV Path String MultiMedia Settings XonXoff Enumeration Comm Port Settings ZMProcommFlag True/False Transfer Protocols ──────────────────────────────────────────────────────────────────────────── ═══ 10.2. TE2Color Program ═══ If you browsed the section titled "Color Attribute variables" and/or looked through the various variables for color settings you have undoubtedly noticed that the process of customizing TE/2's colors "by hand" is tedious as best, completely incomprehensible at worst. For this reason, we've supplied a program to help you in customizing your color setup. The name of the program is TE2COLOR.EXE. When you installed TE/2, if you followed the recommendations, this program will be in the same directory as TE2.EXE. If not, we strongly urge you to place it there before proceeding. TE2COLOR.EXE may be executed from within TE/2 by pressing Alt-Y. The name of the TE/2 initialization file (TE2.INI unless you changed it using the "-f" command line parameter) will be automatically passed to TE2COLOR.EXE which will read the file for color settings and, if you elect to save your changes, it will write the changes to that file. Upon returning to TE/2, the file is read for the color settings once again and your changes will immediately take effect. TE2COLOR.EXE may be executed from the OS/2 prompt if you so desire. You would need to do this, for instance, if you have removed your color settings from the main file into an included file (see notes on the "INCLUDE" keyword) or if you need to adjust an initialization file other than that currently in use by TE/2. To execute TE2COLOR.EXE from the command prompt, you must type "TE2COLOR filename" where "filename" is the name of the TE/2 initialization file to read and possibly alter. No extended searches are made for this file so if it requires a path or drive specifier you must explicitly include that into the file name. ┌────[ ENTER=Select ]───┐ ┌────────────────────────────────────────────────┐ │ Terminal Screen │ │Command Prompt: Highlight Normal │ │ Menu Text │ │Terminal screen ┌─────────────────────┐ │ │ Menu Highlight │ │ │ Dialing Directory │ │ │ Logo │ │ ┌─────────────────┴────┐ │ │ │ Dialog Text │ │ │ Dialog │ Highlight │ │ │ Dialog Highlight │ │ │ │ │ │ │ Dialog Disabled │ │ │ Highlight │ │ │ │ Dialer Text │ │ │ Disabled ├────────────────┘ │ │ Dialer Highlight │ │ │ │ │ │ Input Text │ │ │ Input Hi Normal │ │ │ Input Highlight │ │ │ ┌───┴───────────────┐ │ │ Errors │ │ │ │ Errors │ │ │ Shadows │ │ │ └───┬───────────────┘ │ │ Command Prompt │ │ └──────────────────────┘ │ │ Cmd Input Text │ │ Shadow │ │ Cmd Input Highlight │ │ ───────────────────────────────────────────── │ │ Scrollback Title │ │ MenuText -- Logo -- │ │ Scrollback Text │ ├───────────────────────┬────────────────────────┤ │ Scrollback Marked │ │ Scrollback Title │ Chat Title │ │ Scrollback Found │ │ Normal Text │ Remote Text │ │ Chat Title │ │ Marked Text │ Chat Title │ │ Chat Remote Text │ │ Found Text │ Local Text │ │ Chat Local Text │ │ │ │ └─[ F1=Help ESC=Exit ]─┘ └───────────────────────┴────────────────────────┘ Figure JJ -- TE2COLOR.EXE Main Display While you are running TE2COLOR.EXE you will see a display similar to the one shown in Figure JJ. The section on the left of the screen is a menu of items for which the color may be redefined. On the right of the screen is a composite example of the various program items shown with their current color settings. When you select an item from the menu, that section of the screen changes to become a color grid which you may select from; the left and right arrow keys select the foreground and the up and down arrows select the background. When you press ESCape to exit TE2COLOR.EXE you will be given a choice of whether or not to save your changes in the initialization file. Note that TE2COLOR.EXE will save a backup of the original file with the extension .IN1 which contains the original file as it existed just prior to the most recent editing session. ═══ 10.3. TE2.XEX ═══ There can be any number on entries in the user programs file, only the first eight are used however. The default file name is "te2.xex". Each entry uses four lines and is of the form: procflags[,execflags] Program Title Executable File Name Parameters procflags are: one of: DosExecPgm = 0x0001 DosStartSession = 0x0002 ORed with one of: FOREGROUND = 0x0010 BACKGROUND = 0x0020 ORed with: CHILDSESSION = 0x0100 execflags is zero if absent else it may be one or more of: SaveScreen = 0x0001 Pause on return = 0x0002 "CHILDSESSION" is only valid with DosStartSession, it is ignored otherwise. execflags are only valid with a FOREGROUND, DosExecPgm entry, they are ignored otherwise. procflags and execflags may be expressed in decimal, octal, or hex. Use standard 'C' syntax, i.e., 27 == 033 == 0x001b == 27 decimal. Number bases can be intermixed from number to number. "Program Title" should not be more than 32 characters long; TE/2 does not check the length. This is the title that will appear on TE/2 User Programs menu and, if the entry is a Session type entry, it will also appear on the Task Manager list and the sessions window if it has one. "Executable File Name" is just that. It must have an extension (.exe or .com) and it may have an explicit drive/path. If it does not have an explicit drive/path, the PATH environment variable will be searched for the executable. Batch files (.cmd) may not be executed directly. To execute a batch file, specify CMD.EXE as the executable file name and "/c batchfilename" in the parameters field. For session type entries, OS/2 will decided, based on the exefile header, whether to run the session full screen, in a vio window, or as a PM app. "Parameters" specifies the command line to send to the executed program. There are a number of special variables that may be embedded anywhere in the command line allowing you to use some of TE/2's internal values and/or user inputs. A summary follows. Note that the characters used here ARE case sensitive. %h == open comport handle %c == open comport name %n == open comport number %b == current baud %p == current parity %w == current word length %s == current number of stop bits %L == latest logfile name %D == latest downloaded file name %U == latest uploaded file name %? == user input string Optional syntaxes: %?[s1] uses "s1" as prompt for input, no default value %?[s1%s2] uses "s1" as prompt for input, "s2" as default value %?[%s1] uses the default prompt, "s1" as default value %% == percent sign anything else following '%' is itself Example Entries: 0x0011,1 External Download Protocol xdl.exe -H%h -B%b -r %?[Enter download filename:] The above example will present the user with a dialog box which will prompt "Enter download filename:" and allow entry of a string of up to 126 characters. OS/2 will search the PATH for xdl.exe and, assuming that the port handle is 7, baud rate is 9600, and the user entered "foo.zip" in response to the dialog, xdl.exe will receive the command line "-H7 -B9600 -r foo.zip". Xdl.exe will be executed as a child process of TE/2 in the foreground, TE/2's screen will be saved before and restored after xdl's execution. 0x0121 Format Disk(s) c:/os2/bin/format.exe %?[Format parameters:%a: /4] The above example will again present the user with a dialog box which will prompt "Format parameters:" and allow entry of a string of up to 126 characters. The default value of the input will be "a: /4" which may be accepted with a carriage return, edited, or replaced. c:/os2/bin/format.exe will be executed (if it exists) in its own session - either full screen or in a VIO window depending on whether you've marked format.exe as windowcompat. The session will come up in the foreground but you may switch back to TE/2 by normal means at any time. The session is a child session of TE/2 however, you will be returned to TE/2 when the session closes. The supplied TE2.XEX file contains eight more examples. NOTE: You may have multiple external program files. Type 'N' while the External Program menu is up and you will be prompted for a new file. This directive does NOT appear on the menu yet, you just have to know about it. CAUTION: Don't execute a FOREGROUND, DosExecPgm type process when you have massive amounts of incoming data at the comm port! The comm and kbd handlers are disabled during the exec call; the call will return immediately from any background and/or session process but not from a foreground exec. This could result in buffer overflows and loss of data. ═══ 10.4. TE2.FNK ═══ You can define strings for the forty-eight function keys (F1-F12, shifted, control, and alt) via ALT-K. By default, these are read from the file TE2.FNK but key definitions may be saved to and read from other file names as well. Some special characters are recognized in these strings: '^' as a control code prefix (i.e., "^M" for carriage return, "^[" for ESCape, use "^!" to send the literal "^" character), and '~' to indicate a 1/2 second pause when transmitting the string. Please refer to the notes in the section which discusses redefining function keys via the Alt-K menu as it relates to the usage certain function keys by the VT100 and IBM 3101 emulations. ═══ 10.5. TE2INP.XLT and TE2OUT.XLT ═══ TE/2 uses these two files to translate, character by character, bytes received and bytes transmitted respectively. Each of these files is 256 bytes long and contains, for each of the 256 possible ASCII characters the ASCII character for the translation. As supplied, these files will simply translate each character to itself. The registered version of TE/2 includes an editor for manipulating these files. Alternately, you may alter these files with a byte-oriented editor or rewrite them completely with a small program written in a high level language. If you do change these files, care should be taken in your choice of translations; especially concerning the translation of control characters (like carriage return or linefeed!) and with any character which may be used in an ANSI or 3101 command sequence by the terminal emulator (i.e., if you translate "m" then the ANSI "ESC [ 0 m" sequence to reset the color attribute will cease to function properly!). There is one exception to this warning: The left square-bracket character, "[", used in nearly all ANSI and VT100 control sequences MAY be changed without worry. TE/2 will pay special heed to the positioning of this character and will not translate it if it appears to be part of an ANSI or VT100 control sequence. Any character translated to zero in TE2INP.XLT will effectively block that character from display or any other further translation by TE/2 or the terminal emulation packages. Because it is possible to transmit an ASCII zero (via Control-@ or other methods), this situation does not occur in TE2OUT.XLT. ═══ 11. Registering TE/2 ═══ The two main questions regarding Registering TE/2 that you might have are:  Why register the program?  How do I register TE/2? ═══ 11.1. Why Register? ═══ If you find that you like TE/2 and desire to continue using it, you should become a registered user. Registration confers on you a number of benefits:  You will receive the full featured version of TE/2 which contains TE/2's very powerful script language. You can use TE/2 scripts for automating logon procedures to all of the bulletin boards and services you routinely call. You can program a TE/2 host mode through the script language creating a mini-BBS. TE/2's script language is actually robust enough that you may be tempted to do any number of programming chores that you would normally need a 'real language' to do. A very complete documentation file for the TE/2 script language is included with this package and you are urged to read it through. We'll just point out a couple of major features here: - A full range of conditional and control statements: IF-ELSE-ENDIF blocks with ELSEIF, DO WHILE, DO UNTIL, BREAK and CONTINUE statements. True subroutines. - User definable dynamic string and 32 bit integer variables, as many as you'll need. Variables may be local to the script file or global and shared between script files. - Complete set of file handling functions for opening, closing, reading, writing any number of files. - Asynchronous event watches that can launch another script or just toggle a variable. - Low and high level interface into nearly all of TE/2's functionality. - A command line interface for executing single statements.  You will also have the option of writing your TE/2 scripts in the REXX/2 Procedure Language if you are running under a version which includes REXX. All built-in functions available to the built-in script language are also available to the REXX script plus you have access to all of the built-in OS/2 system functions which you normally use with REXX command files.  The registered version of TE/2 contains the CompuServe B+ protocol and an enhanced ZModem which includes the ability to fine tune several internal ZModem settings and the ability to resume aborted downloads.  You will also receive full printed documentation for TE/2.  You are automatically registered for the next version of TE/2 when it becomes available. You will be notified of all new releases thereafter as they happen.  Registered users will receive priority service on technical assistance through the Oberon Software User Support BBS. Anyone and everyone may call the BBS with questions however.  Plus, you get the piece of mind to know that you have helped support the shareware concept which is dedicated to bringing quality software at low prices to as many people as possible. Shareware authors devote many, many hours of their time creating their products. If people register the shareware programs they use, this will send a message to those talented programmers that a noble cause can be a viable way of life! ═══ 11.2. How to Register ═══ Refer to the accompanying file ORDER.FRM for a sample order form. Pricing information is contained in that file also. If, for any reason, that file is unavailable to you, please write or call: Oberon Software, Inc. 1405 East Main St. Mankato, MN 56001 507-388-7001 (voice) 507-388-7568 (fax) Please contact Oberon Software for information regarding quantity discounts, academic discounts, sysop pricing, or other special offers. For use by corporations and other institutions, please contact the Oberon Software for a licensing arrangement. ═══ 12. Disclaimer ═══ Every care has been taken so that TE/2 will perform as outlined in this document and that it is as error free as the author can make it. We should be aware however that no piece of software is ever totally bug free. Use of this software for any purpose whatsoever constitutes your unqualified acceptance of the following statements. The author makes no warranty or representation that the software will be error free. The author disclaims any warranties, either express or implied, including but not limited to any implied warranty of merchantability or fitness for any particular purpose. The user agrees to take full responsibility for the selection of and any use whatsoever made of the software. IN NO EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR THE LIKE) ARISING OUT OF THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY TO USE THIS SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF ANY POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES. ═══ 13. Copyright Notices ═══ "IBM", "IBM PC/AT", "PS/2", "IBM OS/2" are all registered trademarks of and copyright by International Business Machines. "Microsoft", "Microsoft Windows", "MS OS/2" are all registered trademarks of and copyright by the Microsoft Corporation. "Procomm" is a registered trademark of DataStorm Technologies. "VT100" and "VT220" are registered trademarks of Digital Equipment Corporation. "Hayes" is a registered trademark of Hayes Microcomputer Products. "GEnie" is a registered trademark of the General Electric Corporation. "MCI Mail" is a registered trademark of MCI Communications Corporation. "CompuServe" is a registered trademark of CompuServe Information Service. "Doorway" is a registered trademark of Marshall Dudley dba Doorway. "OS2You" is a product of M Wahlgren Software Development, Gothenburg, Sweden. ═══ 14. Oberon Software ═══ Oberon Software, Inc. 1405 East Main Street Mankato MN 56001-5070 Voice phone: 507/388-7001 Bulletin Board: 507/388-1154 FAX: 507/388-7568 Internet: ob-tech@OberonSoftware.com http://www.OberonSoftware.com